add_url_tags() isn't correct- it does not handle escaping and can't be safely combined with gtk_safe(), as is done in two places.
But URLs can explicitly contain &, and that must be escaped. Text not inside URLs needs to be escaped, but escaping before or after the anchors breaks the URLs.
This function splits the text up into URLs and not-URLs and handles each case.
This code looks for a '.lutris_compat.json' file at the root of a
component's version's directory.
This contains, in JSON, the minimum Lutris version required. If Lutris
finds this to be too late, it will try earlier versions.
The code is messy and this could download a lot of versions, since
it tries them one at a time. But it's a start.
Some environments don't have access to /proc, or may only have access
to specific files in /proc. We can use other methods to find the same
information.
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.
- 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
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.