1
0
mirror of https://github.com/lutris/lutris synced 2024-06-29 05:34:25 +00:00
Commit Graph

10277 Commits

Author SHA1 Message Date
Daniel Johnson
5ac77b3fee Also enable multiple auto-generated installers for Itch.IO, just like GOG! 2024-06-26 20:07:25 -04:00
Daniel Johnson
9cd311e9da Enable GOG service to offer more than once auto-generated installer, when GOG has multiple platforms we support.
This way the user can select between Linux or Wine builds of a game.

Resolve #5391
2024-06-26 19:47:14 -04:00
Daniel Johnson
1c1a79c660 Also filter DLCs according to the runner and OS 2024-06-26 17:19:51 -04:00
Daniel Johnson
d9ae24254c Filter patches according to the runner of the existing game, and the OS of the patch.
Resolves #5522.
2024-06-26 17:15:52 -04:00
Daniel Johnson
c245f6af3e Correct spelling error in log message 2024-06-26 17:05:25 -04:00
Daniel Johnson
98f53221f3 Re-arrange code and add a hack so that wineexec() will work with GE-Proton (Latest)
It needs to recognize that oddball "path" that is not a path, and in that case substitute the proper UMU script and *not* set PROTONPATH, since we don't know what that is. Seems to work, still super ugly though.

Resolves #5519
2024-06-18 16:58:33 -04:00
Daniel Johnson
350305cf86 Tolerate non-UTF8 data found in another processes enviroment.
We don't actually care about this data, we only look for our own environment variable and the command line, and we are looking for ASCII stuff we put there anyway, so these replacements are harmless.

Resolves #5518
2024-06-16 09:31:54 -04:00
Daniel Johnson
fea3c44561 Add filtering support for the missing view, so the search bar works and hidden games are hidden.
This is an extension of #5472
2024-06-15 18:52:23 -04:00
Dan Johnson
06a14c605e Add missing 'continue' to avoid repeating Save() call. 2024-06-12 20:43:22 -04:00
Daniel Johnson
713f6191f5 OK, turns out the appName-less game is a subscription, not a game, and we need to skip those.
Resolves #5516
2024-06-12 19:45:06 -04:00
Daniel Johnson
396ed9d752 Add logging for malformed EGS games
For #5516
2024-06-12 18:09:11 -04:00
Daniel Johnson
19ad7149a7 Fix bugged Itch.io patch download; it needs to discard the 'extra' downloads. 2024-06-11 18:15:08 -04:00
Daniel Johnson
27807ce55f If a game has a service, but that service does not know the game, we'll fall back to treating it as a Lutris game in the hope that Lutris will have an installer we can use. 2024-06-11 16:31:13 -04:00
mintymoons
3d143a70b3 Link update
Atari800's dead link changed by the current one.
- MicroM8's insecure or suspicios link changed by the current one.
2024-06-01 17:59:46 -07:00
Daniel Johnson
b4a3dab399 Add checks to tolerate blank lines in the output of lspci.
Resolves #5492
2024-06-01 20:25:07 -04:00
Daniel Johnson
fc87c68729 Avoid crashing if we have no samples at all, now that this can happen. 2024-05-30 05:04:13 -04:00
Daniel Johnson
cb56f64a14 Insert speeds in sorted order so skipping extreme values skips the highest and lowest, not the oldest and newest. 2024-05-30 05:00:50 -04:00
Daniel Johnson
fe0d6b2da6 Add protection from division by zero
We don't even use the plain speed, and the average speed can just leave out samples where the elapsed time is zero.

Resolves #5493
2024-05-30 04:58:05 -04:00
Daniel Johnson
dde4d71f9c Remove position-only parameter list to restore compatibility with Python 3.7
Resolves #5491
2024-05-29 16:43:15 -04:00
Daniel Johnson
dbdb841edc Remove the old path from the cache when moving a game, so we don't get a spurious 'missing' listing 2024-05-25 15:20:33 -04:00
Daniel Johnson
696863bee4 Use path_contains to see if one path is 'inside' another, rather than a startswith.
Also resolves #5223 some more
2024-05-25 15:08:31 -04:00
Daniel Johnson
9c7f04138f Correct error handling for move game errors, so it displays the proper error.
Resolves #5223
2024-05-25 15:08:31 -04:00
Eric Eastwood
6dffaa6394 Fix missing quote syntax error in bug report issue template
```
There is a problem with this template

YAML syntax error: (): did not find expected key while parsing a block mapping at line 20 column 7. Learn more about this error.
```
2024-05-24 23:24:53 -07:00
Mathieu Comandon
672caf45ab Log out and log back in when Ubisoft credentials fail 2024-05-22 17:34:51 -07:00
Daniel Johnson
0fcffef9ed Revert "Consolidate AuthTokenExpiredError and AuthenticationError."
This reverts commit 10f7e52cff.
2024-05-19 16:13:35 -04:00
Daniel Johnson
c1ea6191c8 Revert "Add the service ID to AuthenticationError."
This reverts commit 1274401c3d.
2024-05-19 16:13:35 -04:00
Daniel Johnson
7b7305c555 Revert "Add a backstop handler for AuthenticationError that just logs out and logs back in; that's the handling we do on reload, and it should be appropriate for failures at other times."
This reverts commit e2d3e6be3a.
2024-05-19 16:13:35 -04:00
Daniel Johnson
e05ba61ede Revert "Raise AuthenticationError from the service load() method if not authenticated."
This reverts commit f4d1e1a99f.
2024-05-19 16:13:35 -04:00
Daniel Johnson
e77298ee83 Revert "Hook up the special exception backstops up in LutrisWindow.__init__."
This reverts commit b0c0e295fc.
2024-05-19 16:13:35 -04:00
Daniel Johnson
b0c0e295fc Hook up the special exception backstops up in LutrisWindow.__init__.
It's better not to change state like this just because we *import* lutriswindow.py.
2024-05-19 10:42:53 -04:00
Daniel Johnson
f4d1e1a99f Raise AuthenticationError from the service load() method if not authenticated.
Some services have odd errors that I don't understand, and I've just left those alone for now.
2024-05-19 08:37:40 -04:00
Daniel Johnson
e2d3e6be3a Add a backstop handler for AuthenticationError that just logs out and logs back in; that's the handling we do on reload, and it should be appropriate for failures at other times.
Should help with #5406
2024-05-19 08:30:37 -04:00
Daniel Johnson
1274401c3d Add the service ID to AuthenticationError.
This should allow us to do a relogin in a more general way.
2024-05-19 08:18:28 -04:00
Daniel Johnson
10f7e52cff Consolidate AuthTokenExpiredError and AuthenticationError.
Most uses of AuthenticationError actually say "please log in again" which is the handling for AuthTokenExpiredError- and my read is the few others could generally be addressed that way too.
2024-05-19 08:09:42 -04:00
Daniel Johnson
f8468e120d Add handling in case the playtime in the config .yml for a game is garbage; this will log and reset the playtime to 0.
Resolves #5476
2024-05-14 19:08:45 -04:00
Daniel Johnson
87b18f2fa0 Add exception handling so that if we can't parse the icon from an EXE, we log and continue. It's okay not to have an icon; all the cool kids use banners.
Resolves #5475
2024-05-14 19:03:03 -04:00
Daniel Johnson
52fb949ff5 Do a slightly better job of keeping the view up to date when a game is hidden by the user. 2024-05-14 18:58:34 -04:00
Daniel Johnson
655301cf03 Enforce the 'hidden' setting even in the recent items.
Resolves #5472
2024-05-14 18:49:25 -04:00
Daniel Johnson
5959768f8a Add exception handling so a malformed media file does nto crash Lutris, and does not prevent you from setting a new media.
Resolves #5474
2024-05-13 04:35:00 -04:00
Daniel Johnson
075b531080 Fix various merge messes 2024-05-12 17:36:06 -07:00
Daniel Johnson
5c32bacf71 Fix some ruff gruffness. 2024-05-12 17:36:06 -07:00
Daniel Johnson
23d18390ee Fixes for the search tooltip. 2024-05-12 17:36:06 -07:00
Daniel Johnson
b9ddd740d2 Smarter handling of "-"
It will not be  stop token, so a search for "Ex-Zodiac" finds just that even without quotes; '-' must be at the start to count as negation. You can write Ex AND -Zodiac or "Ex" -Zodiac to override this.
2024-05-12 17:36:06 -07:00
Daniel Johnson
7f5b259419 Fix buggy stop handling; we need to stop before the tag, not before the ':'. 2024-05-12 17:36:06 -07:00
Daniel Johnson
c0b10867ed Change the special tags to use 'contains' instead of '=='
Thus, platform:win finds Windows, and runner:win finds Wine, and so on.

This should be more forgiving for messy carbon based life forms.
2024-05-12 17:36:06 -07:00
Daniel Johnson
4386663709 Expand runner search to search runner human names 2024-05-12 17:36:06 -07:00
Daniel Johnson
5f1c135cdb Add a "source:" tag that matches service names, and also "service:" as an alias. 2024-05-12 17:36:06 -07:00
Daniel Johnson
acd7f7f07d Simplify implementation, actually use TRUE_PREDICATE 2024-05-12 17:36:06 -07:00
Daniel Johnson
c529b57a28 Additional commenting 2024-05-12 17:36:06 -07:00
Daniel Johnson
1785a6ecf3 Add a playtime parse that keeps separate parts, use it do an approximate match so:
playtime:2 hours -> playtime rounded to hours is 2 hours

playtime:120 minutes -> playtime rounded to minutes is 120 minutes

These are not the same thing!
2024-05-12 17:36:06 -07:00