home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import win32api
- import _winreg
- import sys
- import shutil
- import os
-
- def usage_and_die(rc):
- print
- print 'This script is designed to copy and register the Python debug'
- print 'binaries. It looks for pythonxx_d.dll, pythoncomxx_d.dll etc,'
- print 'and installs them to work correctly with Python debug builds.'
- print
- print 'You will generally find this script in the. zip file that'
- print 'included these _d files. Please run this script from'
- print 'that directory'
- sys.exit(rc)
-
- if win32api.__file__.find('_d') > 0:
- print 'This scripts appears to be running a DEBUG version of Python.'
- print 'Please run it using a normal release build (python.exe)'
- usage_and_die(1)
-
-
- try:
- import pythoncom
- except ImportError:
- details = None
- print 'Could not import the release version of pythoncom'
- print 'The error details are: %s' % (details,)
- print 'Please correct this error and rerun the script'
- usage_and_die(2)
-
-
- try:
- import pywintypes
- except ImportError:
- details = None
- print 'Could not import the release version of pywintypes'
- print 'The error details are: %s' % (details,)
- print 'Please correct this error and rerun the script'
- usage_and_die(2)
-
-
- def _docopy(src, dest):
- orig_src = src
- if not os.path.isfile(src):
- src = os.path.join(os.path.split(sys.argv[0])[0], src)
- print 'Can not find %s or %s to copy' % (os.path.abspath(orig_src), os.path.abspath(src))
- return 0
-
- try:
- shutil.copy(src, dest)
- print 'Copied %s -> %s' % (src, dest)
- return 1
- except:
- os.path.isfile(src)
- print "Error copying '%s' -> '%s'" % (src, dest)
- print str(sys.exc_info[1])
- usage_and_die(3)
-
-
-
- def _doregister(mod_name, dll_name):
-
- try:
- key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, 'Software\\Python\\PythonCore\\%s\\Modules\\%s' % (sys.winver, mod_name))
- except _winreg.error:
-
- try:
- key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, 'Software\\Python\\PythonCore\\%s\\Modules\\%s' % (sys.winver, mod_name))
- except _winreg.error:
- print "Could not find the existing '%s' module registered in the registry" % (mod_name,)
- usage_and_die(4)
- except:
- None<EXCEPTION MATCH>_winreg.error
-
-
- None<EXCEPTION MATCH>_winreg.error
-
- sub_key = _winreg.CreateKey(key, 'Debug')
- _winreg.SetValue(sub_key, None, _winreg.REG_SZ, dll_name)
- print "Registered '%s' in the registry" % (dll_name,)
-
-
- def _domodule(mod_name, release_mod_filename):
- (path, fname) = os.path.split(release_mod_filename)
- (base, ext) = os.path.splitext(fname)
- new_fname = base + '_d' + ext
- if _docopy(new_fname, path):
- _doregister(mod_name, os.path.abspath(os.path.join(path, new_fname)))
-
-
- (path, fname) = (path, fname) = os.path.split(win32api.GetModuleFileName(sys.dllhandle))
- (base, ext) = os.path.splitext(fname)
- _docopy(base + '_d' + ext, path)
- _domodule('pythoncom', pythoncom.__file__)
- _domodule('pywintypes', pywintypes.__file__)
- print 'System _d files were setup.'
-