summaryrefslogtreecommitdiffstats
path: root/src/script
diff options
context:
space:
mode:
authorGreg Noel <GregNoel@tigris.org>2010-04-25 00:15:27 (GMT)
committerGreg Noel <GregNoel@tigris.org>2010-04-25 00:15:27 (GMT)
commit1c13a030e39109c5343046d0d555f48b7cc61126 (patch)
tree74471e800cf3cbd7e01f387a216530cea6280fe9 /src/script
parentbcdc9a412521ae0b9f9aea7997a880af6dbda2a6 (diff)
downloadSCons-1c13a030e39109c5343046d0d555f48b7cc61126.zip
SCons-1c13a030e39109c5343046d0d555f48b7cc61126.tar.gz
SCons-1c13a030e39109c5343046d0d555f48b7cc61126.tar.bz2
Add compat support for renaming '_winreg' as 'winreg' in Python 3.x.
Diffstat (limited to 'src/script')
-rw-r--r--src/script/scons-post-install.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/script/scons-post-install.py b/src/script/scons-post-install.py
index e8fad53..a6a6035 100644
--- a/src/script/scons-post-install.py
+++ b/src/script/scons-post-install.py
@@ -33,8 +33,17 @@
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
-import os.path
+import os
import sys
+import imp
+
+try:
+ # Before Python 3.0, the 'winreg' module was named '_winreg'
+ sys.modules['winreg'] = \
+ imp.load_module('winreg', *imp.find_module('_winreg'))
+except ImportError:
+ # No '_winreg' module: either 3.x or not Windows
+ pass
scons_bat_path = os.path.join(sys.prefix, 'Scripts', 'scons.bat')
@@ -43,15 +52,15 @@ app_paths_key = r'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\SCons.bat'
def install():
if sys.platform == 'win32':
try:
- import _winreg
+ import winreg
except ImportError:
pass
else:
print 'Writing "App Paths" registry entry for %s' % scons_bat_path
- _winreg.SetValue(
- _winreg.HKEY_LOCAL_MACHINE,
+ winreg.SetValue(
+ winreg.HKEY_LOCAL_MACHINE,
app_paths_key,
- _winreg.REG_SZ,
+ winreg.REG_SZ,
scons_bat_path)
print 'Done.'
@@ -59,12 +68,12 @@ def install():
def remove():
if sys.platform == 'win32':
try:
- import _winreg
+ import winreg
except ImportError:
pass
else:
# print 'Remove "App Paths" registry entry'
- _winreg.DeleteKey(_winreg.HKEY_LOCAL_MACHINE, app_paths_key)
+ winreg.DeleteKey(winreg.HKEY_LOCAL_MACHINE, app_paths_key)
if len(sys.argv) > 1: