diff options
author | nicoo <nicoo@mur.at> | 2021-06-19 21:11:28 +0200 |
---|---|---|
committer | nicoo <nicoo@mur.at> | 2021-06-19 21:15:44 +0200 |
commit | 5e06828dff0fe6b97cc215826872788b55c77397 (patch) | |
tree | 1aa2358f7382e249f234265605a08e2d5ecc4b2f /pkgs/games/factorio | |
parent | 0747387223edf1aa5beaedf48983471315d95e16 (diff) |
factorio: Fix bug in update.py
Prior to this change, `update.py` fails with `KeyError: 'alpha'` when upstream
does not have a version in the `experimental` channel:
./update.py --username XXXXXXXX --token "$(wl-paste)"
Traceback (most recent call last):
File "./update.py", line 180, in <module>
app.run(main)
File "/nix/store/854z51wg8fj1s6ghxasp1xxx8khb3r8v-python3-3.8.9-env/lib/python3.8/site-packages/absl/app.py", line 303, in run
_run_main(main, args)
File "/nix/store/854z51wg8fj1s6ghxasp1xxx8khb3r8v-python3-3.8.9-env/lib/python3.8/site-packages/absl/app.py", line 251, in _run_main
sys.exit(main(argv))
File "./update.py", line 162, in main
new_our_versions = generate_our_versions(factorio_versions)
File "./update.py", line 92, in generate_our_versions
version = factorio_versions[release_channel.name][release_type.name]
KeyError: 'alpha'
I chose to make it so that the versions in nixpkgs' `factorio-*` packages are
either experimental (when available) or stable, as this seems like the most
coherent approach
Diffstat (limited to 'pkgs/games/factorio')
-rwxr-xr-x | pkgs/games/factorio/update.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/pkgs/games/factorio/update.py b/pkgs/games/factorio/update.py index b1cdce6b4aa1..3806ba3614f1 100755 --- a/pkgs/games/factorio/update.py +++ b/pkgs/games/factorio/update.py @@ -80,6 +80,12 @@ def fetch_versions() -> FactorioVersionsJSON: def generate_our_versions(factorio_versions: FactorioVersionsJSON) -> OurVersionJSON: rec_dd = lambda: defaultdict(rec_dd) output = rec_dd() + + # Deal with times where there's no experimental version + for rc in RELEASE_CHANNELS: + if not factorio_versions[rc.name]: + factorio_versions[rc.name] = factorio_versions['stable'] + for system in SYSTEMS: for release_type in RELEASE_TYPES: for release_channel in RELEASE_CHANNELS: |