summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/msvccompiler.py
diff options
context:
space:
mode:
authorGreg Ward <gward@python.net>2000-03-31 16:53:42 (GMT)
committerGreg Ward <gward@python.net>2000-03-31 16:53:42 (GMT)
commit1027e3fde9b9cb6eb470cc13e48fbd2208658b32 (patch)
tree685960fa427b8710134052962331866338d6fbbb /Lib/distutils/msvccompiler.py
parent7642f5cf3899d296b111d2a21d531cbd795215fb (diff)
downloadcpython-1027e3fde9b9cb6eb470cc13e48fbd2208658b32.zip
cpython-1027e3fde9b9cb6eb470cc13e48fbd2208658b32.tar.gz
cpython-1027e3fde9b9cb6eb470cc13e48fbd2208658b32.tar.bz2
Simplified Thomas Heller's registry patch: just assign all those
HKEY_* and Reg* names once, rather than having near-duplicate code in the two import attempts. Also dropped the leading underscore on all the imported symbols, as it's not appropriate (they're not local to this module).
Diffstat (limited to 'Lib/distutils/msvccompiler.py')
-rw-r--r--Lib/distutils/msvccompiler.py64
1 files changed, 32 insertions, 32 deletions
diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py
index 07096e9..b38aadb 100644
--- a/Lib/distutils/msvccompiler.py
+++ b/Lib/distutils/msvccompiler.py
@@ -20,30 +20,30 @@ from distutils.ccompiler import \
_can_read_reg = 0
try:
import winreg
- _HKEY_CLASSES_ROOT = winreg.HKEY_CLASSES_ROOT
- _HKEY_LOCAL_MACHINE = winreg.HKEY_LOCAL_MACHINE
- _HKEY_CURRENT_USER = winreg.HKEY_CURRENT_USER
- _HKEY_USERS = winreg.HKEY_USERS
- _RegOpenKeyEx = winreg.OpenKeyEx
- _RegEnumKey = winreg.EnumKey
- _RegEnumValue = winreg.EnumValue
- _RegError = winreg.error
_can_read_reg = 1
+ hkey_mod = winreg # module that provides HKEY_* stuff
+ reg_mod = winreg # provides other registry stuff
except ImportError:
try:
import win32api
import win32con
- _HKEY_CLASSES_ROOT = win32con.HKEY_CLASSES_ROOT
- _HKEY_LOCAL_MACHINE = win32con.HKEY_LOCAL_MACHINE
- _HKEY_CURRENT_USER = win32con.HKEY_CURRENT_USER
- _HKEY_USERS = win32con.HKEY_USERS
- _RegOpenKeyEx = win32api.RegOpenKeyEx
- _RegEnumKey = win32api.RegEnumKey
- _RegEnumValue = win32api.RegEnumValue
- _RegError = win32api.error
_can_read_reg = 1
+ hkey_mod = win32con
+ reg_mod = win32api
except ImportError:
pass
+
+if _can_read_reg:
+ HKEY_CLASSES_ROOT = hkey_mod.HKEY_CLASSES_ROOT
+ HKEY_LOCAL_MACHINE = hkey_mod.HKEY_LOCAL_MACHINE
+ HKEY_CURRENT_USER = hkey_mod.HKEY_CURRENT_USER
+ HKEY_USERS = hkey_mod.HKEY_USERS
+ RegOpenKeyEx = reg_mod.RegOpenKeyEx
+ RegEnumKey = reg_mod.RegEnumKey
+ RegEnumValue = reg_mod.RegEnumValue
+ RegError = reg_mod.error
+ _can_read_reg = 1
+
def get_devstudio_versions ():
@@ -58,22 +58,22 @@ def get_devstudio_versions ():
K = 'Software\\Microsoft\\Devstudio'
L = []
- for base in (_HKEY_CLASSES_ROOT,
- _HKEY_LOCAL_MACHINE,
- _HKEY_CURRENT_USER,
- _HKEY_USERS):
+ for base in (HKEY_CLASSES_ROOT,
+ HKEY_LOCAL_MACHINE,
+ HKEY_CURRENT_USER,
+ HKEY_USERS):
try:
- k = _RegOpenKeyEx(base,K)
+ k = RegOpenKeyEx(base,K)
i = 0
while 1:
try:
- p = _RegEnumKey(k,i)
+ p = RegEnumKey(k,i)
if p[0] in '123456789' and p not in L:
L.append(p)
- except _RegError:
+ except RegError:
break
i = i + 1
- except _RegError:
+ except RegError:
pass
L.sort()
L.reverse()
@@ -97,16 +97,16 @@ def get_msvc_paths (path, version='6.0', platform='x86'):
K = ('Software\\Microsoft\\Devstudio\\%s\\' +
'Build System\\Components\\Platforms\\Win32 (%s)\\Directories') % \
(version,platform)
- for base in (_HKEY_CLASSES_ROOT,
- _HKEY_LOCAL_MACHINE,
- _HKEY_CURRENT_USER,
- _HKEY_USERS):
+ for base in (HKEY_CLASSES_ROOT,
+ HKEY_LOCAL_MACHINE,
+ HKEY_CURRENT_USER,
+ HKEY_USERS):
try:
- k = _RegOpenKeyEx(base,K)
+ k = RegOpenKeyEx(base,K)
i = 0
while 1:
try:
- (p,v,t) = _RegEnumValue(k,i)
+ (p,v,t) = RegEnumValue(k,i)
if string.upper(p) == path:
V = string.split(v,';')
for v in V:
@@ -114,9 +114,9 @@ def get_msvc_paths (path, version='6.0', platform='x86'):
L.append(v)
break
i = i + 1
- except _RegError:
+ except RegError:
break
- except _RegError:
+ except RegError:
pass
return L