Update files in windows directory so it compiles under python3 (print
statements and except and raise).
This commit is contained in:
@@ -82,7 +82,7 @@ class buildbase(GObject.GObject):
|
||||
self.repository_path = '.' #where the source comes from, either SVN root or a tarball
|
||||
self.bBuildInstaller = True
|
||||
self.tarbase3 = '.'
|
||||
|
||||
|
||||
def getbuild_src(self):
|
||||
return os.path.join(self.build_root, 'src')
|
||||
|
||||
@@ -100,7 +100,7 @@ class buildbase(GObject.GObject):
|
||||
log.debug('========== getSVNRevision(%s)' % dir)
|
||||
cmd = 'svnversion -n %s' % dir
|
||||
log.debug( "Running: %s" % cmd )
|
||||
|
||||
|
||||
proc = subprocess.Popen( cmd, shell = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
|
||||
(out, err) = proc.communicate()
|
||||
output = string.strip(out)
|
||||
@@ -123,9 +123,9 @@ class buildbase(GObject.GObject):
|
||||
log.debug('========== exportSVN(%s, %s)' % (svn_dir, destdir) )
|
||||
# cmd = '"%s" export %s %s' % (SVN_exe ,svn_dir, destdir)
|
||||
cmd = [SVN_exe, 'export' ,svn_dir, destdir] #'"%s" export %s %s' % (SVN_exe ,svn_dir, destdir)
|
||||
|
||||
|
||||
log.info( "Running: %s" % cmd)
|
||||
|
||||
|
||||
proc = subprocess.Popen( cmd, shell = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
|
||||
(out, err) = proc.communicate()
|
||||
output = string.strip(out)
|
||||
@@ -171,13 +171,13 @@ class buildbase(GObject.GObject):
|
||||
elif sys.platform == 'linux2':
|
||||
#assumption makensis is installed and on the path
|
||||
cmd = '%s -V3 %s' % (MAKENSIS_exe, pth2nsis_script)
|
||||
|
||||
|
||||
log.info( "Running: %s" % cmd)
|
||||
# Need to define the following enviroment variables for NSIS script
|
||||
os.environ['GRAMPS_VER'] = self.gramps_version
|
||||
os.environ['GRAMPS_BUILD_DIR'] = os.path.abspath(self.build_src)
|
||||
os.environ['GRAMPS_OUT_DIR'] = os.path.abspath(self.out_dir)
|
||||
|
||||
|
||||
proc = subprocess.Popen( cmd, shell = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
|
||||
(out, err) = proc.communicate()
|
||||
output = string.strip(out)
|
||||
@@ -191,7 +191,7 @@ class buildbase(GObject.GObject):
|
||||
conf_lines = fin.readlines()
|
||||
fin.close()
|
||||
return self.getVersionFromLines(conf_lines)
|
||||
|
||||
|
||||
def getVersionFromLines(self, conf_lines):
|
||||
log.debug('========== getVersionFromLines()')
|
||||
for line in conf_lines:
|
||||
@@ -225,11 +225,11 @@ class buildbase(GObject.GObject):
|
||||
po_files = glob.glob(po_dir + "\*.po")
|
||||
# no longer using python msgfmt as it doesn't handle plurals (april 2010)
|
||||
# msgfmtCmd = path.normpath(path.join(sys.prefix, "Tools/i18n/msgfmt.py") )
|
||||
|
||||
|
||||
# GetText Win 32 obtained from http://gnuwin32.sourceforge.net/packages/gettext.htm
|
||||
# ....\gettext\bin\msgfmt.exe needs to be on the path
|
||||
msgfmtCmd = 'msgfmt.exe'
|
||||
#print 'msgfmtCmd = %s' % msgfmtCmd
|
||||
#print('msgfmtCmd = %s' % msgfmtCmd)
|
||||
elif sys.platform == 'linux2':
|
||||
po_files = glob.glob(po_dir + "/*.po")
|
||||
msgfmtCmd = "%s/bin/msgfmt" % sys.prefix
|
||||
@@ -304,7 +304,7 @@ class buildbase(GObject.GObject):
|
||||
try:
|
||||
log.info('removing directory: %s' % self.build_root )
|
||||
shutil.rmtree(self.build_root)
|
||||
except MY_EXCEPTION, e:
|
||||
except MY_EXCEPTION as e:
|
||||
log.error( e )
|
||||
|
||||
for file in ['gramps-%s.exe'%self.gramps_version ]: #, 'build.log']:
|
||||
@@ -313,7 +313,7 @@ class buildbase(GObject.GObject):
|
||||
try:
|
||||
log.info('removing file: %s' % fname )
|
||||
os.remove(fname)
|
||||
except MY_EXCEPTION, e:
|
||||
except MY_EXCEPTION as e:
|
||||
log.error( e )
|
||||
|
||||
def getNSISVersionNumber(self):
|
||||
@@ -322,7 +322,7 @@ class buildbase(GObject.GObject):
|
||||
# v2.42
|
||||
cmd = '"%s" -VERSION' % (MAKENSIS_exe)
|
||||
log.debug(cmd)
|
||||
|
||||
|
||||
proc = subprocess.Popen( cmd, shell = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
|
||||
(out, err) = proc.communicate()
|
||||
output = string.strip(out)
|
||||
@@ -333,15 +333,15 @@ class buildbase(GObject.GObject):
|
||||
minor =0
|
||||
major =0
|
||||
return (major, minor)
|
||||
|
||||
|
||||
#parse the output to get version number into tuple
|
||||
ver = output[1:].split('.')
|
||||
major = int(ver[0])
|
||||
try:
|
||||
minor = int(ver[1])
|
||||
except ValueError, e:
|
||||
except ValueError as e:
|
||||
m = ver[1]
|
||||
minor = int(m[:2])
|
||||
minor = int(m[:2])
|
||||
return (major, minor)
|
||||
|
||||
def checkForBuildTools(self):
|
||||
@@ -356,12 +356,12 @@ class buildbase(GObject.GObject):
|
||||
makensisexe = path.join( nsispath, 'makensis.exe')
|
||||
if path.isfile( makensisexe ):
|
||||
MAKENSIS_exe = makensisexe
|
||||
except WindowsError, e:
|
||||
except WindowsError as e:
|
||||
log.warning('NSIS not found, in registory')
|
||||
log.warning('..Testing if makensis is on the path')
|
||||
MAKENSIS_exe = 'makensis'
|
||||
#cmd = os.path.join(nsis_dir, MAKENSIS_exe)
|
||||
|
||||
|
||||
cmd = '%s /VERSION' % MAKENSIS_exe
|
||||
proc = subprocess.Popen( cmd, shell = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
|
||||
(out, err) = proc.communicate()
|
||||
@@ -376,7 +376,7 @@ class buildbase(GObject.GObject):
|
||||
|
||||
# Find msgfmt on system
|
||||
cmd = os.path.join(msg_dir, 'msgfmt.exe')
|
||||
|
||||
|
||||
proc = subprocess.Popen( cmd, shell = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
|
||||
(out, err) = proc.communicate()
|
||||
output = string.strip(out)
|
||||
@@ -386,7 +386,7 @@ class buildbase(GObject.GObject):
|
||||
log.error('msgfmt.exe not found on path')
|
||||
log.error(' try the -m DIR , --msgdir=DIR option to specify the directory or put it on the path')
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
# Find SVN on system - optional, if building from tarball
|
||||
if not bTarball:
|
||||
try:
|
||||
@@ -394,11 +394,11 @@ class buildbase(GObject.GObject):
|
||||
svnpath = winreg.QueryValue(key, '')
|
||||
if path.isfile(svnpath):
|
||||
SVN_exe = svnpath
|
||||
except WindowsError, e:
|
||||
except WindowsError as e:
|
||||
log.warning('SVN not found, in registory')
|
||||
log.warning('... Hoping svn is on the path')
|
||||
SVN_exe = 'svn'
|
||||
|
||||
|
||||
elif sys.platform == 'linux2':
|
||||
#ASSUMPTION: these tools are on the path
|
||||
#TODO: check for svn on Linux
|
||||
@@ -407,7 +407,7 @@ class buildbase(GObject.GObject):
|
||||
#TODO: check for nsis on Linux
|
||||
log.info( 'TODO: Check for nsis' )
|
||||
MAKENSIS_exe = 'makensis'
|
||||
|
||||
|
||||
# Check if we are running a compatible vesion of NSIS
|
||||
vers = self.getNSISVersionNumber()
|
||||
if vers < MIN_NSIS_VERSION:
|
||||
@@ -417,7 +417,7 @@ class buildbase(GObject.GObject):
|
||||
else:
|
||||
self.bBuildInstaller = True
|
||||
log.info( "NSIS version %d.%d" % vers )
|
||||
|
||||
|
||||
def expandTarBall(self, tarball, expand_dir):
|
||||
# gramps-3.1.0.tar.gz
|
||||
log.info( 'expandTarBall(%s, %s)' % (tarball, expand_dir) )
|
||||
@@ -429,15 +429,15 @@ class buildbase(GObject.GObject):
|
||||
extractDir = os.path.join(self.out_dir, self.tarbase3 )
|
||||
try:
|
||||
os.rename( extractDir, self.build_root)
|
||||
except WindowsError, e:
|
||||
except WindowsError as e:
|
||||
log.error("FAILED: \n\t extractDir=%s \n\t build_root=%s" % (extractDir, self.build_root))
|
||||
raise WindowsError, e
|
||||
raise WindowsError(e)
|
||||
else:
|
||||
log.error( "Sorry %s is not a tar file" % self.repository_path )
|
||||
|
||||
def getVersionFromTarBall(self, tarball):
|
||||
log.debug( 'getVersionFromTarBall(%s)' % (tarball))
|
||||
|
||||
|
||||
if tarfile.is_tarfile(self.repository_path):
|
||||
tar = tarfile.open(self.repository_path)
|
||||
members = tar.getnames()
|
||||
@@ -449,11 +449,11 @@ class buildbase(GObject.GObject):
|
||||
vers = self.getVersionFromLines(lines)
|
||||
if 'TODO' in member: #need to get path this will extract too, grab it of one of the files
|
||||
self.tarbase3, rest = member.split('/', 1)
|
||||
print '==ExtractPath', self.tarbase3
|
||||
print('==ExtractPath', self.tarbase3)
|
||||
tar.close()
|
||||
log.debug( 'Version (%s)' % (vers) )
|
||||
return vers
|
||||
|
||||
|
||||
def copyPatchTreeToDest(self, src, dst):
|
||||
'''Patch a tarball build with alternate files as required.
|
||||
At this stage do not allow new directories to be made or
|
||||
@@ -474,15 +474,15 @@ class buildbase(GObject.GObject):
|
||||
self.copyPatchTreeToDest(srcname, dstname)
|
||||
else:
|
||||
log.error('UNDEFINED: %s -> %s' % (srcname, dstname))
|
||||
except (IOError, os.error), why:
|
||||
except (IOError, os.error) as why:
|
||||
errors.append((srcname, dstname, str(why)))
|
||||
# catch the Error from the recursive copytree so that we can
|
||||
# continue with other files
|
||||
except Error, err:
|
||||
except Error as err:
|
||||
errors.extend(err.args[0])
|
||||
if errors:
|
||||
raise Error(errors)
|
||||
|
||||
|
||||
def buildGRAMPS( base, out_dir, bTarball):
|
||||
bo = buildbase()
|
||||
|
||||
@@ -490,7 +490,7 @@ def buildGRAMPS( base, out_dir, bTarball):
|
||||
bo.out_dir = out_dir
|
||||
bo.bTarball = bTarball
|
||||
bo.bBuildInstaller = bBuildInstaller
|
||||
|
||||
|
||||
if not bo.bTarball and not bo.isGrampsRoot(bo.repository_path):
|
||||
log.error( '$$$$ BAD Gramps Root specified $$$$')
|
||||
else:
|
||||
@@ -513,7 +513,7 @@ def buildGRAMPS( base, out_dir, bTarball):
|
||||
bo.exportSVN(os.path.join(base, 'example'), os.path.join(bo.build_root, 'examples') )
|
||||
bo.generateConstPy( )
|
||||
bo.copyExtraFilesToBuildDir(base)
|
||||
|
||||
|
||||
if bPatchBuild:
|
||||
bo.copyPatchTreeToDest( patch_dir, bo.build_root )
|
||||
if bBuildAll:
|
||||
@@ -568,7 +568,7 @@ Options:
|
||||
|
||||
for o, a in opts:
|
||||
if o in ("-h", "--help"):
|
||||
print usage
|
||||
print(usage)
|
||||
sys.exit(0)
|
||||
|
||||
if o in ("-o", "--out"):
|
||||
@@ -576,20 +576,20 @@ Options:
|
||||
if o in ("--nsis_only"):
|
||||
bBuildAll = False
|
||||
if o in ('-t', "--tarball"):
|
||||
print 'This is a tarball build'
|
||||
print('This is a tarball build')
|
||||
bTarball = True
|
||||
if o in ("-m", "--msgdir"):
|
||||
if os.path.isdir( a ):
|
||||
msg_dir = a
|
||||
else:
|
||||
raise getopt.GetoptError, '\nERROR: msgfmt dir does not exist'
|
||||
raise getopt.GetoptError('\nERROR: msgfmt dir does not exist')
|
||||
if o in ("-p", "--patch"):
|
||||
if os.path.isdir( a ):
|
||||
patch_dir = a
|
||||
bPatchBuild = True
|
||||
else:
|
||||
raise getopt.GetoptError, '\nERROR: Patch directory does not exist'
|
||||
|
||||
raise getopt.GetoptError('\nERROR: Patch directory does not exist')
|
||||
|
||||
if args: #got args use first one as base dir
|
||||
repository_path = path.normpath(args[0])
|
||||
else: # no base dir passed in, work out one from current working dir
|
||||
@@ -601,21 +601,21 @@ Options:
|
||||
# raise getopt.GetoptError, '\nERROR: No base directory specified'
|
||||
|
||||
if len(args) > 1:
|
||||
raise getopt.GetoptError, '\nERROR: Too many arguments'
|
||||
raise getopt.GetoptError('\nERROR: Too many arguments')
|
||||
|
||||
except getopt.GetoptError, msg:
|
||||
print msg
|
||||
print '\n %s' % usage
|
||||
except getopt.GetoptError as msg:
|
||||
print(msg)
|
||||
print('\n %s' % usage)
|
||||
sys.exit(2)
|
||||
|
||||
if bTarball:
|
||||
if not tarfile.is_tarfile(repository_path):
|
||||
print "Tarball %s not a valid Tarball" % repository_path
|
||||
print("Tarball %s not a valid Tarball" % repository_path)
|
||||
sys.exit(1)
|
||||
|
||||
else:
|
||||
|
||||
else:
|
||||
if not os.path.isdir(repository_path):
|
||||
print "WC root directory not found; %s " % repository_path
|
||||
print("WC root directory not found; %s " % repository_path)
|
||||
sys.exit(1)
|
||||
|
||||
if out_dir == None:
|
||||
@@ -624,13 +624,13 @@ Options:
|
||||
else:
|
||||
out_dir = path.normpath(os.path.join(repository_path, 'windows'))
|
||||
log.info("Setting outdir to %s", out_dir)
|
||||
|
||||
|
||||
|
||||
s_args = ''
|
||||
for value in sys.argv[1:]:
|
||||
s_args = s_args + ' %s'%value
|
||||
|
||||
print "======= build_GrampsWin32.py %s ========" % s_args
|
||||
print("======= build_GrampsWin32.py %s ========" % s_args)
|
||||
log.debug('Using %s to find python tools' % sys.prefix)
|
||||
log.info('Platform: %s' % sys.platform)
|
||||
#==========================
|
||||
|
@@ -48,15 +48,15 @@ explain_safe = ''' **********************************************************
|
||||
|
||||
def RunExeCommand( app, args ):
|
||||
cmd = app + ' ' + args
|
||||
#print "Running: ", cmd
|
||||
#print("Running: ", cmd)
|
||||
stdin, stdout, stderr = os.popen3( cmd )
|
||||
output = string.strip(stdout.read())
|
||||
#print output
|
||||
#print(output)
|
||||
err = stderr.read()
|
||||
if err:
|
||||
print err
|
||||
print(err)
|
||||
return output
|
||||
|
||||
|
||||
def CheckGtkInReg():
|
||||
global gtkPathInRegistry, gtkVersionInRegistry, dllPathInRegistry, dllPathShort
|
||||
log.info( '\n==== Checking Registry for GTK =====' )
|
||||
@@ -68,8 +68,8 @@ def CheckGtkInReg():
|
||||
log.info( ' Version : %s'% gtkVersionInRegistry )
|
||||
log.info( ' Path : %s'% gtkPathInRegistry )
|
||||
log.info( ' DllPath : %s'% dllPathInRegistry )
|
||||
|
||||
except WindowsError, e:
|
||||
|
||||
except WindowsError as e:
|
||||
log.info( '\n GTK registry key not found in registry' )
|
||||
log.info( ''' ********************************************************************
|
||||
* This might not be an error, but means I don't know the directory to
|
||||
@@ -78,7 +78,7 @@ def CheckGtkInReg():
|
||||
log.info( '-' * 60 )
|
||||
log.info( usage )
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
def WorkOutShortDosPath():
|
||||
global dllPathShort
|
||||
log.info( '\n==== Use win32Api to query short path name for GTK =====' )
|
||||
@@ -99,11 +99,11 @@ def FindLibsWithCtypes():
|
||||
dllpathvalid = False
|
||||
cpath = find_library(dll)
|
||||
if cpath:
|
||||
#print cpath
|
||||
#print(cpath)
|
||||
if cpath == os.path.join(dllPathInRegistry, dll) \
|
||||
or cpath == os.path.join(dllPathShort, dll):
|
||||
dllpathvalid = True
|
||||
|
||||
|
||||
if not dllpathvalid:
|
||||
pp = os.path.dirname(cpath)
|
||||
if pp not in other_paths:
|
||||
@@ -140,17 +140,17 @@ def ScanDependencyFileForErrors(fname):
|
||||
if dirname.startswith(os.path.join(sysroot, 'winsxs').lower()) \
|
||||
or dirname.startswith(os.path.join(sys.prefix, 'lib\site-packages\gtk-2.0').lower()):
|
||||
OK = True
|
||||
|
||||
|
||||
for pth in acceptablePaths:
|
||||
if dirname == pth.lower():
|
||||
OK = True
|
||||
|
||||
|
||||
if 'MSVCR90.DLL' in filename:
|
||||
if parts[0] == 'Error':
|
||||
runtimedlls[filename] = "Error dll not found"
|
||||
else:
|
||||
runtimedlls[filename] = parts[16]
|
||||
|
||||
|
||||
if OK == False:
|
||||
if parts[0] == 'Error':
|
||||
log.info( " %s \tError dll not found" %( filename))
|
||||
@@ -163,7 +163,7 @@ def ScanDependencyFileForErrors(fname):
|
||||
log.info( '\n MS runtime Version %s loaded from' % runtimedlls[rtdll] )
|
||||
log.info( " %s" %rtdll )
|
||||
log.info( '')
|
||||
|
||||
|
||||
def CheckWithDependencyWalker():
|
||||
log.info( '\n==== Checking with Dependency Walker ====' )
|
||||
log.info( ' Please be patient takes some time' )
|
||||
@@ -180,7 +180,7 @@ def CheckWithDependencyWalker():
|
||||
#delete the output file before running command
|
||||
try:
|
||||
os.remove(fout)
|
||||
except WindowsError, e:
|
||||
except WindowsError as e:
|
||||
pass
|
||||
log.info( ' Testing file %s' % ftest )
|
||||
out = RunExeCommand(exe, '/c /f1 /ot "%s" "%s"' % (fout, ftest) )
|
||||
@@ -192,7 +192,7 @@ def CheckWithDependencyWalker():
|
||||
log.info( ' Cannot check with dependency walker, not installed in local directory' )
|
||||
log.info( ' get dependency walker from http://www.dependencywalker.com/' )
|
||||
log.info( ' and unzip into this directory for it to work.' )
|
||||
|
||||
|
||||
def CheckPathForOtherGtkInstalls():
|
||||
log.info( '\n====Checking environment path for other gtk installations====' )
|
||||
ePath = os.environ['path']
|
||||
@@ -201,7 +201,7 @@ def CheckPathForOtherGtkInstalls():
|
||||
other_paths = []
|
||||
explain_level = 0
|
||||
for i, d in enumerate(dirs):
|
||||
#print '==%s==' %d
|
||||
#print('==%s==' %d)
|
||||
if d == gtkPathInRegistry or d == dllPathInRegistry\
|
||||
or d == dllPathShort:
|
||||
gtkpth_idx = i
|
||||
@@ -209,7 +209,7 @@ def CheckPathForOtherGtkInstalls():
|
||||
for fname in testdlls:
|
||||
f = os.path.join(d, fname)
|
||||
if os.path.isfile( f ):
|
||||
#print ' Found Erronous gtk DLL %s' % f
|
||||
#print(' Found Erronous gtk DLL %s' % f)
|
||||
if d not in other_paths:
|
||||
other_paths.append(d)
|
||||
if i < gtkpth_idx: # path appears BEFORE runtime path
|
||||
@@ -228,7 +228,7 @@ def CheckPathForOtherGtkInstalls():
|
||||
log.info( explain_safe )
|
||||
if len(other_paths) == 0:
|
||||
log.info( ' No other gtk installatons found\n' )
|
||||
|
||||
|
||||
# ==== report what python thinks it's using =====
|
||||
MIN_PYTHON_VER = (2,5,1)
|
||||
UNTESTED_PYTHON_VER = (3,0,0)
|
||||
@@ -258,7 +258,7 @@ def PrintVersionResult(appl, minVersion, actualVersion, untestedVersion):
|
||||
else:
|
||||
result = '...FAILED'
|
||||
log.info( '%s version %s or above.....\tfound %s %s' % (appl, minStr , actStr, result) )
|
||||
|
||||
|
||||
def Import_pyGtkIntoPython():
|
||||
log.info( '\n==== Test import into python ====' )
|
||||
#py_str = 'found %d.%d.%d' % sys.version_info[:3]
|
||||
@@ -267,22 +267,22 @@ def Import_pyGtkIntoPython():
|
||||
# Test the GTK version
|
||||
try:
|
||||
import gtk
|
||||
|
||||
|
||||
PrintVersionResult(' GTK+ ', MIN_GTK_VER, Gtk.gtk_version, UNTESTED_GTK_VER )
|
||||
|
||||
|
||||
#test the pyGTK version (which is in the gtk namespace)
|
||||
PrintVersionResult(' pyGTK ', MIN_PYGTK_VER, Gtk.pygtk_version, UNTESTED_PYGTK_VER )
|
||||
|
||||
|
||||
except ImportError:
|
||||
PrintFailedImport(' GTK+ ', MIN_GTK_VER, NOT_FOUND_STR)
|
||||
PrintFailedImport(' pyGTK ', MIN_PYGTK_VER, 'Cannot test, ...GTK+ missing')
|
||||
|
||||
|
||||
|
||||
#test the gobject version
|
||||
try:
|
||||
import gobject
|
||||
PrintVersionResult(' gobject', MIN_GOBJECT_VER, GObject.pygobject_version, UNTESTED_GOBJECT_VER)
|
||||
|
||||
|
||||
except ImportError:
|
||||
PrintFailedImport(' gobject', MIN_GOBJECT_VER, NOT_FOUND_STR)
|
||||
|
||||
@@ -291,7 +291,7 @@ def Import_pyGtkIntoPython():
|
||||
try:
|
||||
import cairo
|
||||
PrintVersionResult(' cairo ', MIN_CAIRO_VER, cairo.version_info, UNTESTED_CAIRO_VER )
|
||||
|
||||
|
||||
except ImportError:
|
||||
PrintFailedImport(' cairo ', MIN_CAIRO_VER, NOT_FOUND_STR)
|
||||
|
||||
@@ -301,7 +301,7 @@ def Import_pyGtkIntoPython():
|
||||
try:
|
||||
import Gtk.glade
|
||||
log.info( ' Glade tesing import of libglade .......\tOK\n' )
|
||||
except ImportError, e:
|
||||
except ImportError as e:
|
||||
log.info( ' Glade importError: %s\n' % e )
|
||||
|
||||
if __name__ == '__main__':
|
||||
@@ -311,7 +311,7 @@ Usage:
|
||||
|
||||
Arguments:
|
||||
gtkPath Path to your GTK installation directory (not the bin dir)
|
||||
|
||||
|
||||
Options:
|
||||
None
|
||||
''' %(os.path.basename(__file__) )
|
||||
@@ -332,14 +332,14 @@ Options:
|
||||
sys.exit(0)
|
||||
|
||||
if len(args) > 1:
|
||||
raise getopt.GetoptError, '\nERROR: Too many arguments'
|
||||
raise getopt.GetoptError('\nERROR: Too many arguments')
|
||||
for arg in args:
|
||||
if os.path.isdir(arg):
|
||||
gtkPath = arg
|
||||
else:
|
||||
raise getopt.GetoptError, '\nERROR: Not a valid GTK path %s' % arg
|
||||
|
||||
except getopt.GetoptError, msg:
|
||||
raise getopt.GetoptError('\nERROR: Not a valid GTK path %s' % arg)
|
||||
|
||||
except getopt.GetoptError as msg:
|
||||
log.info( msg )
|
||||
log.info( '\n %s' % usage )
|
||||
sys.exit(2)
|
||||
@@ -354,7 +354,7 @@ Options:
|
||||
OS type : %s''' % winver)
|
||||
else:
|
||||
os.info( winver )
|
||||
|
||||
|
||||
if gtkPath:
|
||||
gtkPathInRegistry = gtkPath
|
||||
dllPathInRegistry = os.path.join(gtkPath, 'bin')
|
||||
@@ -367,6 +367,6 @@ Options:
|
||||
FindLibsWithCtypes()
|
||||
CheckPathForOtherGtkInstalls()
|
||||
Import_pyGtkIntoPython()
|
||||
|
||||
|
||||
CheckWithDependencyWalker()
|
||||
|
||||
|
||||
|
@@ -86,28 +86,28 @@ def GetGtkPath():
|
||||
with _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE\\GTK\\2.0') as key:
|
||||
dllPathInRegistry = _winreg.QueryValueEx(key, 'DllPath')[0]
|
||||
# check a few key files exist at this location
|
||||
gtkfiles = ['libgdk-win32-2.0-0.dll', 'libglib-2.0-0.dll', 'libgobject-2.0-0.dll', 'libcairo-2.dll']
|
||||
gtkfiles = ['libgdk-win32-2.0-0.dll', 'libglib-2.0-0.dll', 'libgobject-2.0-0.dll', 'libcairo-2.dll']
|
||||
for file in gtkfiles:
|
||||
if not os.path.isfile(os.path.join(dllPathInRegistry, file)):
|
||||
dllPathInRegistry = None # one of the files not present, so assume path is wrong
|
||||
break
|
||||
except WindowsError, e:
|
||||
except WindowsError as e:
|
||||
dllPathInRegistry = None
|
||||
log.debug(' DLLPATH=%s'%dllPathInRegistry)
|
||||
return dllPathInRegistry
|
||||
|
||||
def GetGrampsPath():
|
||||
GrampsPathInRegistry = None
|
||||
try:
|
||||
try:
|
||||
with _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE\\GRAMPS') as key:
|
||||
GrampsPathInRegistry = _winreg.QueryValue(key, '')
|
||||
# check a few key files exist at this location
|
||||
except WindowsError, e:
|
||||
except WindowsError as e:
|
||||
GrampsPathInRegistry = None
|
||||
|
||||
|
||||
log.debug(' GRAMPSPATH=%s'%GrampsPathInRegistry)
|
||||
return GrampsPathInRegistry
|
||||
|
||||
|
||||
def GetLanguageFromLocale():
|
||||
lang = ' '
|
||||
try:
|
||||
@@ -124,18 +124,18 @@ def GetLanguageFromLocale():
|
||||
def writeLauncher(language, langcode, runtimepath, grampspath):
|
||||
lines = []
|
||||
lines.append('''@rem Setting the working language
|
||||
@rem ============================
|
||||
@rem ============================
|
||||
@rem GRAMPS looks during the start-up-phase for an environment variable (called LANG)
|
||||
@rem to switch to a special language. It's better to use a ".CMD" or ".BAT" file to
|
||||
@rem control this environment variable instead a permanent setting in the windows registry,
|
||||
@rem to have the possibility to go back to the GRAMPS standard language (English) in the
|
||||
@rem case you want to report about a problem or a bug.
|
||||
''')
|
||||
''')
|
||||
lines.append('\n@rem Set GRAMPS environment settings to %s \n' % language)
|
||||
lines.append('SET LANG=$LANG$ \nSET LANGUAGE=$LANG$\n'.replace("$LANG$", langcode) )
|
||||
|
||||
|
||||
lines.append('''\n\n@rem Setting the configuration path
|
||||
@rem ==============================
|
||||
@rem ==============================
|
||||
@rem During the boot process of GRAMPS there is a check for an environment variable
|
||||
@rem called GRAMPSHOME. Without this environment variable GRAMPS uses the default
|
||||
@rem windows path as the location to save all configuration files:
|
||||
@@ -158,7 +158,7 @@ def writeLauncher(language, langcode, runtimepath, grampspath):
|
||||
lines.append(path)
|
||||
lines.append('''\n\n@rem Start GRAMPS application
|
||||
@rem =========================
|
||||
@rem Start GRAMPS with pythonw.exe (Python interpreter that runs without a command line console)
|
||||
@rem Start GRAMPS with pythonw.exe (Python interpreter that runs without a command line console)
|
||||
''')
|
||||
lines.append('\n@rem start Gramps')
|
||||
lines.append('\n"%s" "%s"\n' % (os.path.join(sys.prefix, 'pythonw.exe') , os.path.join(grampspath, 'gramps.py' ) ))
|
||||
@@ -166,7 +166,7 @@ def writeLauncher(language, langcode, runtimepath, grampspath):
|
||||
fout.writelines(lines)
|
||||
fout.close()
|
||||
for line in lines:
|
||||
print line
|
||||
print(line)
|
||||
|
||||
gtkpath = GetGtkPath()
|
||||
grampspath = GetGrampsPath()
|
||||
@@ -174,10 +174,10 @@ lang = GetLanguageFromLocale()
|
||||
if lang:
|
||||
try:
|
||||
lang_text = langLookup[lang.split('_', 1)[0]]
|
||||
except KeyError, e:
|
||||
except KeyError as e:
|
||||
try:
|
||||
lang_text = langLookup[lang]
|
||||
except KeyError, e:
|
||||
except KeyError as e:
|
||||
lang_text = "Unknown"
|
||||
|
||||
writeLauncher(lang_text, "%s.utf-8"%lang, gtkpath, grampspath)
|
||||
|
||||
writeLauncher(lang_text, "%s.utf-8"%lang, gtkpath, grampspath)
|
||||
|
@@ -44,7 +44,7 @@ try:
|
||||
gobjectver_str = 'found %d.%d.%d' % GObject.pygobject_version
|
||||
except :# any failure to 'get' the version
|
||||
gobjectver_str = 'unknown version'
|
||||
|
||||
|
||||
except ImportError:
|
||||
gobjectver_str = 'not found'
|
||||
|
||||
@@ -55,12 +55,12 @@ try:
|
||||
cairover_str = 'found %d.%d.%d' % cairo.version_info
|
||||
except :# any failure to 'get' the version
|
||||
cairover_str = 'unknown version'
|
||||
|
||||
|
||||
except ImportError:
|
||||
cairover_str = 'not found'
|
||||
|
||||
print 'python:%s;'%py_str
|
||||
print 'gtk++:%s;'%gtkver_str
|
||||
print 'pygtk:%s;'%pygtkver_str
|
||||
print 'gobject:%s;'%gobjectver_str
|
||||
print 'cairo:%s;'%cairover_str
|
||||
|
||||
print('python:%s;'%py_str)
|
||||
print('gtk++:%s;'%gtkver_str)
|
||||
print('pygtk:%s;'%pygtkver_str)
|
||||
print('gobject:%s;'%gobjectver_str)
|
||||
print('cairo:%s;'%cairover_str)
|
Reference in New Issue
Block a user