Fixes platform.win32_ver on non-Windows platforms (GH-12912)

This commit is contained in:
Steve Dower 2019-04-22 11:40:12 -07:00 committed by GitHub
parent 264490797a
commit d307d05350
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 12 deletions

View File

@ -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