native-messaging: fix not to fail on missing HKCU when HKLM is set

there was a bug when missing key in HKEY_CURRENT_USER would throw from `winreg.OpenKey` call
This commit is contained in:
dan oak
2024-04-20 18:33:06 +03:00
parent faadfca8dd
commit 06e230f720

View File

@@ -16,21 +16,15 @@ key_path = 'Software\\Mozilla\\NativeMessagingHosts\\ping_pong'
# Assuming current user overrides local machine.
key_roots = ['HKEY_CURRENT_USER', 'HKEY_LOCAL_MACHINE']
found_key = False
for root in key_roots:
key = winreg.OpenKey(getattr(winreg, root), key_path)
for key_root in key_roots:
try:
print('Checking:', root, key_path)
print('Checking:', key_root, key_path)
key = winreg.OpenKey(getattr(winreg, key_root), key_path)
res = winreg.QueryValueEx(key, '')
except FileNotFoundError:
print('...error finding key')
continue
found_key = True
break
if not found_key:
except FileNotFoundError:
print('... error finding key')
else:
raise ValueError('Could not find a registry entry, aborting.')
json_path = res[0]