summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Util.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-01-11 00:23:40 (GMT)
committerSteven Knight <knight@baldmt.com>2002-01-11 00:23:40 (GMT)
commit2b6de2721fbe6850eb748e254ef47c0001cd2b8a (patch)
treec0941862e32f8727054072ded6a337bdf8d8ec92 /src/engine/SCons/Util.py
parent726f4a0214cd69aae4b5ca5104bcac483cd9e6f0 (diff)
downloadSCons-2b6de2721fbe6850eb748e254ef47c0001cd2b8a.zip
SCons-2b6de2721fbe6850eb748e254ef47c0001cd2b8a.tar.gz
SCons-2b6de2721fbe6850eb748e254ef47c0001cd2b8a.tar.bz2
Refactor the Windows registry stuff from Defaults.py to Utils.py (Charles Crain).
Diffstat (limited to 'src/engine/SCons/Util.py')
-rw-r--r--src/engine/SCons/Util.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/engine/SCons/Util.py b/src/engine/SCons/Util.py
index e6ebd06..f4d5c2a 100644
--- a/src/engine/SCons/Util.py
+++ b/src/engine/SCons/Util.py
@@ -425,3 +425,39 @@ def is_List(e):
def is_String(e):
return type(e) is types.StringType or isinstance(e, UserString)
+
+# attempt to load the windows registry module:
+can_read_reg = 0
+try:
+ import _winreg
+
+ can_read_reg = 1
+ hkey_mod = _winreg
+
+ RegOpenKeyEx = _winreg.OpenKeyEx
+ RegEnumKey = _winreg.EnumKey
+ RegEnumValue = _winreg.EnumValue
+ RegQueryValueEx = _winreg.QueryValueEx
+ RegError = _winreg.error
+
+except ImportError:
+ try:
+ import win32api
+ import win32con
+ can_read_reg = 1
+ hkey_mod = win32con
+
+ RegOpenKeyEx = win32api.RegOpenKeyEx
+ RegEnumKey = win32api.RegEnumKey
+ RegEnumValue = win32api.RegEnumValue
+ RegQueryValueEx = win32api.RegQueryValueEx
+ RegError = win32api.error
+
+ 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