summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@python.org>2019-12-09 16:43:13 (GMT)
committerGitHub <noreply@github.com>2019-12-09 16:43:13 (GMT)
commite89e159b18cc9f32a0a4a818d080eb6a63d888a7 (patch)
tree7c3c69841a53b4f2748a6fe41147c0da567a156a
parenta1a99b4bb7cbe2dbc55a1d92c3c509b4466d3c3b (diff)
downloadcpython-e89e159b18cc9f32a0a4a818d080eb6a63d888a7.zip
cpython-e89e159b18cc9f32a0a4a818d080eb6a63d888a7.tar.gz
cpython-e89e159b18cc9f32a0a4a818d080eb6a63d888a7.tar.bz2
Fix APPX registry key generation (GH-17489)
-rw-r--r--PC/layout/support/appxmanifest.py22
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