Commit graph

217 commits

Author SHA1 Message Date
Antoine Mazeas 133c8ab29d some code cleanup
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas b167143453 Code style and formatting
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas bf7d7f91a1 Add test for handling noop when missing lib
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas 97ac480c67 Guard against mirror urls to avoid long hangs
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas 88a004c86d Revert requiring MODDB: prefix
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas 10c4c8fcdf Add mandatory MODDB: prefix as per maintainer wish
+ add more test coverage

Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas 18c2f97002 Add ModDB download helper
This helper facility will seamlessly swap a "File" url (e.g. "https://www.moddb.com/games/tribes/downloads/starsiege-tribes-retro-version") into a mirror download link.

This enables installer authors to specify files to be downloaded directly from ModDB, e.g.

```
files:
    - t1_setup:
        url: https://www.moddb.com/games/tribes/downloads/starsiege-tribes-retro-version
        filename: t1retro.exe
        referer: https://www.moddb.com/games/tribes/downloads
```

Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Daniel Johnson 725368a8dc Add support for launch configs with lutris: URLs
The URLs can now have a 3-part path, like this:
"lutris:rungame/fear/F.E.A.R. Extraction Point"

The third part- which can only exist if the action is also present- is the name of a launch config. We use the config name as there's no launch config "slug" to use.

I also added unquoting to the URL, so "F.E.A.R.%20Extraction Point" will work too.
2022-12-27 03:44:52 -08:00
Daniel Johnson bcc69327cc Placate flake8!
These imports were using for tests that have been removed.
2022-10-30 15:00:25 -04:00
Mathieu Comandon 90b83caa4a Remove broken tests 2022-10-25 11:15:32 -07:00
Mathieu Comandon bb0b483cd0 Fix tests 2022-03-15 21:14:31 -07:00
Mathieu Comandon eb6654f4e5 Remove platforms from steam list and test that never worked 2022-01-25 15:34:22 -08:00
Rachmadani Haryono 57be9f7c62 test(cli): print steam list and steam folder 2021-12-15 11:55:45 -08:00
Mathieu Comandon 4e7e74b0a7 Style fix 2021-12-14 14:03:59 -08:00
Mathieu Comandon 83c4c4a1c9 Remove deletion of SQLite database in tests 2021-12-14 13:58:45 -08:00
Alexander Ravenheart f5e8e007b3 - Replaced pipenv with poetry
- Updated min version check in setup.py to Python 3.6
- Updated isort config file and calls to align with v5.x
- Added init-hook for gi imports in .pylintrc to avoid invalid no-member issues
- Makefile: added lock, show-tree, bandit, black, mypy; updated test, cover, dev, isort, autopep8, check, isort-check, flake8, pylint; removed req, requirements;
- Updated .travis.yml to use poetry and make
- Added my email in AUTHORS
- Updated CONTRIBUTING.md
- Updated lint_python.yml to use poetry and make, reorganized instructions to have all install related steps first
- sorted imports: lutris, lutris-wrapper, cleanup_prefix.py and multiple files in tests dir
2021-11-17 21:17:43 -08:00
Mathieu Comandon 922c7680cf Add winemenubuilder to dll overrides in test 2021-10-16 11:42:36 -07:00
Christian Clauss cdea86c9b4 Placate flake8 2021-08-02 13:44:18 -07:00
Mathieu Comandon ff33ab73c2 Fix tests 2021-04-26 22:42:38 -07:00
Mathieu Comandon 1d5569ba16 Fix unit tests 2021-02-19 15:44:12 -08:00
Mathieu Comandon 2f170e961f Fix process watcher 2021-02-15 19:36:13 -08:00
Mathieu Comandon 838b46d0e1 Further configuration to skip initialization during tests 2021-02-15 16:23:07 -08:00
Mathieu Comandon 449a00d390 Simplify process watcher 2021-02-02 22:54:09 -08:00
Mathieu Comandon 6131f50a25 Add tests for get_formatted_playtime 2021-01-13 21:12:42 -08:00
Mathieu Comandon 427ef2f8ec Allow downloading of GOG extras (Closes #2945) 2020-10-11 17:10:19 -07:00
Mathieu Comandon 5b9d55d08d Implement save button for logs (Closes #1988) 2020-10-05 23:17:13 -07:00
Mathieu Comandon 0ff96b94ab Sort by suffix first for versions (Closes #3059) 2020-10-05 22:18:10 -07:00
Mathieu Comandon c6e017f36a Move game bar to the bottom 2020-10-03 04:51:11 -07:00
Mathieu Comandon 6fc9335015 Delegate service media downloads to MediaLoader 2020-10-03 04:51:11 -07:00
Mathieu Comandon b3236a99d3 Migrate hidden field to database 2020-10-03 04:51:11 -07:00
Mathieu Comandon d6c81d7977 Deprecate pga module and create database package 2020-10-03 04:51:11 -07:00
Mathieu Comandon 8b1f8d84c0 Remove test for select parameter in pga.get_games 2020-10-03 04:51:11 -07:00
Mathieu Comandon 9aa6b7eb92 Merge branch 'master' into file-picker 2020-07-19 17:21:57 -07:00
Jordan Christiansen 105cb10cbb Add a failing test for slugify
slugify removes all non-ASCII characters. For names that contain only
non-ASCII characters, this is a problem.
2020-07-13 21:00:06 -07:00
Mathieu Comandon 764033fcd3 Remove check for __all__ presence + other fixes 2020-07-11 22:53:10 -07:00
Austin Pua 89eb62dbeb Add tests for pcsx2 runner 2020-06-26 16:28:25 -07:00
Jordan Christiansen ad50383e5e scummvm: Add custom data dir runner option
By default, the scummvm runner looks up the data directory relative to
the executable. It expects it to be at ../share/scummvm. That works for
a system-installed version of scummvm, where the binary is in /usr/bin
and the data is in /usr/share/scummvm. However, we shouldn't make
assumptions about the directory structure for a custom executable.

This allows setting a custom data directory in addition to the custom
executable.
2020-05-30 11:48:29 -07:00
Mathieu Comandon 546d2e4b29 Merge branch 'master' into file-picker 2020-05-29 21:29:31 -07:00
Jordan Christiansen d431ff3778 Prevent potential sql injection in get_game 2020-05-06 16:36:56 -07:00
Alexandru-Rudi Mățău f6651bff34 Updated wrapper and tests 2020-04-27 19:52:01 +03:00
Wouter Wijsman a13cde1303 Updated test to new path
I couldn't test this
2020-03-22 12:33:00 -07:00
Mathieu Comandon 26e476cea3 Gather installer files before installation, present them to the user 2020-01-27 19:37:19 -08:00
Aaron Opfer d7771ae87e lutris-wrapper: poll for game start and exit
Instead of depending on direct descendants of our process exiting as
a signal for checking the process tree, poll 10 times a second
instead. This allows us to build some sensible "game start detection"
which fixes behaviors when the initial game process is considered
excluded (such steam/winesteam games).

It has a minor consequence of making lutris-wrapper much more
complicated. I tried my best to add some comments to explain what
is going on. I also added another test.
2020-01-01 14:18:07 -08:00
Aaron Opfer d394a1750f lutris-wrapper: setproctitle to game name
Makes it slightly easier to identify what game a particular
lutris-wrapper instance is responsible for.
2019-12-27 15:25:21 -08:00
Jayme Howard 24582a348d Add an explicit assert in an attempt to placate CodeFactor 2019-05-18 15:49:04 -07:00
Jayme Howard 77c31f80b1 Fix sorting (Closes: #2046) 2019-05-18 15:49:04 -07:00
Mathieu Comandon 67451ef5f4 Remove file_chooser_dlg attribute on FileChooserEntry 2019-04-03 19:36:16 -07:00
Mathieu Comandon c4b56e54a6 Run lutris initialization earlier 2019-03-18 17:02:17 -07:00
Aaron Opfer 16a530ec43 lutris-wrapper: send sigkill if we get 2 sigterms
If `lutris-wrapper` receives and processes a `SIGTERM` but then receives another one, kill all tracked children with `SIGKILL`. This feature is a part of the work necessary to fix #1798.

Added a test for `lutris-wrapper`.
2019-03-14 20:28:01 -07:00
Mathieu Comandon dd382a06ba Move parse_installer_url to api module 2019-02-07 09:22:07 -08:00