diff options
author | Steven Knight <knight@baldmt.com> | 2002-01-11 00:23:40 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-01-11 00:23:40 (GMT) |
commit | 2b6de2721fbe6850eb748e254ef47c0001cd2b8a (patch) | |
tree | c0941862e32f8727054072ded6a337bdf8d8ec92 /src/engine/SCons/Util.py | |
parent | 726f4a0214cd69aae4b5ca5104bcac483cd9e6f0 (diff) | |
download | SCons-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.py | 36 |
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 |