summaryrefslogtreecommitdiff
path: root/Lib/platform.py
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2019-04-22 11:40:12 -0700
committerGitHub <noreply@github.com>2019-04-22 11:40:12 -0700
commitd307d05350e26a7a5f8f74db9af632a15215b50f (patch)
tree2b69fe93a7b3432ec59b15261281d0c8adc6ec07 /Lib/platform.py
parent264490797ad936868c54b3d4ceb0343e7ba4be76 (diff)
downloadcpython-git-d307d05350e26a7a5f8f74db9af632a15215b50f.tar.gz
Fixes platform.win32_ver on non-Windows platforms (GH-12912)
Diffstat (limited to 'Lib/platform.py')
-rwxr-xr-xLib/platform.py24
1 files changed, 12 insertions, 12 deletions
diff --git a/Lib/platform.py b/Lib/platform.py
index 2ab68aed78..21defd1095 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