Fixes platform.win32_ver on non-Windows platforms (GH-12912)
(cherry picked from commit d307d05350
)
Co-authored-by: Steve Dower <steve.dower@microsoft.com>
This commit is contained in:
parent
36aecc0079
commit
9344d74f7b
|
@ -535,10 +535,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]
|
||||
|
@ -564,16 +560,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
|
||||
|
||||
|
|
Loading…
Reference in New Issue