diff options
author | Steve Dower <steve.dower@microsoft.com> | 2019-04-22 18:40:12 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-22 18:40:12 (GMT) |
commit | d307d05350e26a7a5f8f74db9af632a15215b50f (patch) | |
tree | 2b69fe93a7b3432ec59b15261281d0c8adc6ec07 /Lib | |
parent | 264490797ad936868c54b3d4ceb0343e7ba4be76 (diff) | |
download | cpython-d307d05350e26a7a5f8f74db9af632a15215b50f.zip cpython-d307d05350e26a7a5f8f74db9af632a15215b50f.tar.gz cpython-d307d05350e26a7a5f8f74db9af632a15215b50f.tar.bz2 |
Fixes platform.win32_ver on non-Windows platforms (GH-12912)
Diffstat (limited to 'Lib')
-rwxr-xr-x | Lib/platform.py | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/Lib/platform.py b/Lib/platform.py index 2ab68ae..21defd1 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -339,10 +339,6 @@ def win32_ver(release='', version='', csd='', ptype=''): from sys import getwindowsversion except ImportError: return release, version, csd, ptype - try: - from winreg import OpenKeyEx, QueryValueEx, CloseKey, HKEY_LOCAL_MACHINE - except ImportError: - from _winreg import OpenKeyEx, QueryValueEx, CloseKey, HKEY_LOCAL_MACHINE winver = getwindowsversion() maj, min, build = winver.platform_version or winver[:3] @@ -368,16 +364,20 @@ def win32_ver(release='', version='', csd='', ptype=''): _WIN32_SERVER_RELEASES.get((maj, None)) or release) - key = None try: - key = OpenKeyEx(HKEY_LOCAL_MACHINE, - r'SOFTWARE\Microsoft\Windows NT\CurrentVersion') - ptype = QueryValueEx(key, 'CurrentType')[0] - except: + try: + import winreg + except ImportError: + import _winreg as winreg + except ImportError: pass - finally: - if key: - CloseKey(key) + else: + try: + cvkey = r'SOFTWARE\Microsoft\Windows NT\CurrentVersion' + with winreg.OpenKeyEx(HKEY_LOCAL_MACHINE, cvkey) as key: + ptype = QueryValueEx(key, 'CurrentType')[0] + except: + pass return release, version, csd, ptype |