diff options
author | Steve Dower <steve.dower@python.org> | 2019-12-09 16:43:13 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-09 16:43:13 (GMT) |
commit | e89e159b18cc9f32a0a4a818d080eb6a63d888a7 (patch) | |
tree | 7c3c69841a53b4f2748a6fe41147c0da567a156a | |
parent | a1a99b4bb7cbe2dbc55a1d92c3c509b4466d3c3b (diff) | |
download | cpython-e89e159b18cc9f32a0a4a818d080eb6a63d888a7.zip cpython-e89e159b18cc9f32a0a4a818d080eb6a63d888a7.tar.gz cpython-e89e159b18cc9f32a0a4a818d080eb6a63d888a7.tar.bz2 |
Fix APPX registry key generation (GH-17489)
-rw-r--r-- | PC/layout/support/appxmanifest.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/PC/layout/support/appxmanifest.py b/PC/layout/support/appxmanifest.py index 9e008f7..9a7439d 100644 --- a/PC/layout/support/appxmanifest.py +++ b/PC/layout/support/appxmanifest.py @@ -339,7 +339,17 @@ def _get_registry_entries(ns, root="", d=None): for key, value in d.items(): if key == "_condition": continue - elif isinstance(value, dict): + if value is SPECIAL_LOOKUP: + if key == "SysArchitecture": + value = { + "win32": "32bit", + "amd64": "64bit", + "arm32": "32bit", + "arm64": "64bit", + }[ns.arch] + else: + raise ValueError(f"Key '{key}' unhandled for special lookup") + if isinstance(value, dict): cond = value.get("_condition") if cond and not cond(ns): continue @@ -349,16 +359,6 @@ def _get_registry_entries(ns, root="", d=None): if len(fullkey.parts) > 1: yield str(fullkey), None, None yield from _get_registry_entries(ns, fullkey, value) - elif value is SPECIAL_LOOKUP: - if key == "SysArchitecture": - return { - "win32": "32bit", - "amd64": "64bit", - "arm32": "32bit", - "arm64": "64bit", - }[ns.arch] - else: - raise ValueError(f"Key '{key}' unhandled for special lookup") elif len(r.parts) > 1: yield str(r), key, value |