mirror of
https://github.com/python/cpython.git
synced 2024-11-24 00:38:00 +01:00
Fixes platform.win32_ver on non-Windows platforms (GH-12912)
This commit is contained in:
parent
264490797a
commit
d307d05350
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user