diff options
author | Florian Bruhin <me@the-compiler.org> | 2021-03-12 13:57:54 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2021-03-12 13:57:57 +0100 |
commit | 368ed9a4bb56c913c36e8031c59bbf46ec84017d (patch) | |
tree | f422f75da04125dd04c768ad4efc611f1b62163f | |
parent | 874215dfa32e4c23b2dbcfc97e22b796c6a9dd77 (diff) | |
download | qutebrowser-368ed9a4bb56c913c36e8031c59bbf46ec84017d.tar.gz qutebrowser-368ed9a4bb56c913c36e8031c59bbf46ec84017d.zip |
Fix version sorting in mkvenv.py for requirements-pyinstaller
(cherry picked from commit b45ac601c62a1638a86347546e6afee79ecdbcf8)
-rwxr-xr-x | scripts/mkvenv.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/scripts/mkvenv.py b/scripts/mkvenv.py index d510ba75b..a3b3bf32d 100755 --- a/scripts/mkvenv.py +++ b/scripts/mkvenv.py @@ -99,6 +99,18 @@ def parse_args(argv: List[str] = None) -> argparse.Namespace: return parser.parse_args(argv) +def _version_key(v): + """Sort PyQt requirement file prefixes. + + If we have a filename like requirements-pyqt-pyinstaller.txt, that should + always be sorted after all others (hence we return a "999" key). + """ + try: + return tuple(int(v) for c in v.split('.')) + except ValueError: + return 999 + + def pyqt_versions() -> List[str]: """Get a list of all available PyQt versions. @@ -110,8 +122,7 @@ def pyqt_versions() -> List[str]: for req in requirements_dir.glob('requirements-pyqt-*.txt'): version_set.add(req.stem.split('-')[-1]) - versions = sorted(version_set, - key=lambda v: [int(c) for c in v.split('.')]) + versions = sorted(version_set, key=_version_key) return versions + ['auto'] |