Skip to content

Commit

Permalink
Fixes platform.win32_ver on non-Windows platforms (pythonGH-12912)
Browse files Browse the repository at this point in the history
  • Loading branch information
zooba authored Apr 22, 2019
1 parent 2644907 commit d307d05
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions Lib/platform.py
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand All @@ -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

Expand Down

0 comments on commit d307d05

Please sign in to comment.