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:
Miss Islington (bot) 2019-04-22 11:59:08 -07:00 committed by GitHub
parent 36aecc0079
commit 9344d74f7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 12 deletions

View File

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