Skip to content

Commit 9344d74

Browse files
Fixes platform.win32_ver on non-Windows platforms (GH-12912)
(cherry picked from commit d307d05) Co-authored-by: Steve Dower <[email protected]>
1 parent 36aecc0 commit 9344d74

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

Lib/platform.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -535,10 +535,6 @@ def win32_ver(release='', version='', csd='', ptype=''):
535535
from sys import getwindowsversion
536536
except ImportError:
537537
return release, version, csd, ptype
538-
try:
539-
from winreg import OpenKeyEx, QueryValueEx, CloseKey, HKEY_LOCAL_MACHINE
540-
except ImportError:
541-
from _winreg import OpenKeyEx, QueryValueEx, CloseKey, HKEY_LOCAL_MACHINE
542538

543539
winver = getwindowsversion()
544540
maj, min, build = winver.platform_version or winver[:3]
@@ -564,16 +560,20 @@ def win32_ver(release='', version='', csd='', ptype=''):
564560
_WIN32_SERVER_RELEASES.get((maj, None)) or
565561
release)
566562

567-
key = None
568563
try:
569-
key = OpenKeyEx(HKEY_LOCAL_MACHINE,
570-
r'SOFTWARE\Microsoft\Windows NT\CurrentVersion')
571-
ptype = QueryValueEx(key, 'CurrentType')[0]
572-
except:
564+
try:
565+
import winreg
566+
except ImportError:
567+
import _winreg as winreg
568+
except ImportError:
573569
pass
574-
finally:
575-
if key:
576-
CloseKey(key)
570+
else:
571+
try:
572+
cvkey = r'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
573+
with winreg.OpenKeyEx(HKEY_LOCAL_MACHINE, cvkey) as key:
574+
ptype = QueryValueEx(key, 'CurrentType')[0]
575+
except:
576+
pass
577577

578578
return release, version, csd, ptype
579579

0 commit comments

Comments
 (0)