py3: tools: 2to3

This commit is contained in:
looooo
2018-05-18 16:01:34 +02:00
committed by wmayer
parent ec22a90789
commit 25bd2d2ab1
21 changed files with 491 additions and 488 deletions

View File

@@ -10,7 +10,7 @@ def deserializeVersionHeader(path):
try:
dat = open(path, 'r').readlines()
except IOError:
print 'Unable to open ', path
print('Unable to open ', path)
raise
for l in dat:
@@ -40,13 +40,13 @@ def main():
if SHA:
version['FCRepositoryHash'] = SHA
print 'FreeCAD_{Major}.{Minor}-{RevCount}.{GitShortSHA}-{OS}-{Arch}'.format(
print('FreeCAD_{Major}.{Minor}-{RevCount}.{GitShortSHA}-{OS}-{Arch}'.format(
Major=version['FCVersionMajor'],
Minor=version['FCVersionMinor'],
RevCount=version['FCRevision'],
GitShortSHA=version['FCRepositoryHash'][0:7],
OS=OSAbbrev.get(platform.system(), 'LIN'),
Arch=platform.machine())
Arch=platform.machine()))
if __name__ == "__main__":
main()

View File

@@ -35,26 +35,26 @@ def cpall(dirFrom, dirTo):
"""
global dcount, fcount
for file in os.listdir(dirFrom): # for files/dirs here
print file
print(file)
pathFrom = os.path.join(dirFrom, file)
pathTo = os.path.join(dirTo, file) # extend both paths
if not os.path.isdir(pathFrom): # copy simple files
try:
if verbose > 1: print 'copying', pathFrom, 'to', pathTo
if verbose > 1: print('copying', pathFrom, 'to', pathTo)
cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print 'Error copying', pathFrom, to, pathTo, '--skipped'
print sys.exc_type, sys.exc_value
print('Error copying', pathFrom, to, pathTo, '--skipped')
print(sys.exc_type, sys.exc_value)
else:
if verbose: print 'copying dir', pathFrom, 'to', pathTo
if verbose: print ('copying dir', pathFrom, 'to', pathTo)
try:
os.mkdir(pathTo) # make new subdir
cpall(pathFrom, pathTo) # recur into subdirs
dcount = dcount+1
except:
print 'Error creating', pathTo, '--skipped'
print sys.exc_type, sys.exc_value
print('Error creating', pathTo, '--skipped')
print(sys.exc_type, sys.exc_value)
def SetUpFilter(MatchList):
RegList = []
@@ -73,27 +73,27 @@ def cpallWithFilter(dirFrom, dirTo,MatchList):
for matchpat in MatchList:
if(re.match(matchpat,file)):
hitt = 1
print 'Refuse: '+file
print('Refuse: '+file)
if hitt == 0:
pathFrom = os.path.join(dirFrom, file)
pathTo = os.path.join(dirTo, file) # extend both paths
if not os.path.isdir(pathFrom): # copy simple files
try:
if verbose > 1: print 'copying', pathFrom, 'to', pathTo
if verbose > 1: print('copying', pathFrom, 'to', pathTo)
cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print 'Error copying', pathFrom, to, pathTo, '--skipped'
print sys.exc_type, sys.exc_value
print('Error copying', pathFrom, to, pathTo, '--skipped')
print(sys.exc_type, sys.exc_value)
else:
if verbose: print 'copying dir', pathFrom, 'to', pathTo
if verbose: print('copying dir', pathFrom, 'to', pathTo)
try:
os.mkdir(pathTo) # make new subdir
cpallWithFilter(pathFrom, pathTo,MatchList) # recur into subdirs
dcount = dcount+1
except:
print 'Error creating', pathTo, '--skipped'
print sys.exc_type, sys.exc_value
print('Error creating', pathTo, '--skipped')
print(sys.exc_type, sys.exc_value)
################################################################
# Use: "python rmall.py directoryPath directoryPath..."

View File

@@ -1,120 +1,120 @@
# shell and operating system
import os, sys, re
verbose = 0
dcount = fcount = 0
maxfileload = 100000
blksize = 1024 * 8
def cpfile(pathFrom, pathTo, maxfileload=maxfileload):
"""
copy file pathFrom to pathTo, byte for byte
"""
if os.path.getsize(pathFrom) <= maxfileload:
bytesFrom = open(pathFrom, 'rb').read() # read small file all at once
bytesTo = open(pathTo, 'wb')
bytesTo.write(bytesFrom) # need b mode on Windows
#bytesTo.close()
#bytesFrom.close()
else:
fileFrom = open(pathFrom, 'rb') # read big files in chunks
fileTo = open(pathTo, 'wb') # need b mode here too
while 1:
bytesFrom = fileFrom.read(blksize) # get one block, less at end
if not bytesFrom: break # empty after last chunk
fileTo.write(bytesFrom)
#fileFrom.close()
#fileTo.close()
def cpall(dirFrom, dirTo):
"""
copy contents of dirFrom and below to dirTo
"""
global dcount, fcount
for file in os.listdir(dirFrom): # for files/dirs here
print file
pathFrom = os.path.join(dirFrom, file)
pathTo = os.path.join(dirTo, file) # extend both paths
if not os.path.isdir(pathFrom): # copy simple files
try:
if verbose > 1: print 'copying', pathFrom, 'to', pathTo
cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print 'Error copying', pathFrom, to, pathTo, '--skipped'
print sys.exc_type, sys.exc_value
else:
if verbose: print 'copying dir', pathFrom, 'to', pathTo
try:
os.mkdir(pathTo) # make new subdir
cpall(pathFrom, pathTo) # recur into subdirs
dcount = dcount+1
except:
print 'Error creating', pathTo, '--skipped'
print sys.exc_type, sys.exc_value
def SetUpFilter(MatchList):
RegList = []
for regexp in MatchList:
a = re.compile(regexp)
RegList.append(a)
return RegList
def cpallWithFilter(dirFrom, dirTo,MatchList):
"""
copy contents of dirFrom and below to dirTo without match
"""
global dcount, fcount
for file in os.listdir(dirFrom): # for files/dirs here
hitt = 0
for matchpat in MatchList:
if(re.match(matchpat,file)):
hitt = 1
print 'Refuse: '+file
if hitt == 0:
pathFrom = os.path.join(dirFrom, file)
pathTo = os.path.join(dirTo, file) # extend both paths
if not os.path.isdir(pathFrom): # copy simple files
try:
if verbose > 1: print 'copying', pathFrom, 'to', pathTo
cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print 'Error copying', pathFrom, to, pathTo, '--skipped'
print sys.exc_type, sys.exc_value
else:
if verbose: print 'copying dir', pathFrom, 'to', pathTo
try:
os.mkdir(pathTo) # make new subdir
cpallWithFilter(pathFrom, pathTo,MatchList) # recur into subdirs
dcount = dcount+1
except:
print 'Error creating', pathTo, '--skipped'
print sys.exc_type, sys.exc_value
################################################################
# Use: "python rmall.py directoryPath directoryPath..."
# recursive directory tree deletion: removes all files and
# directories at and below directoryPaths; recurs into subdirs
# and removes parent dir last, because os.rmdir requires that
# directory is empty; like a Unix "rm -rf directoryPath"
################################################################
fcount = dcount = 0
def rmall(dirPath): # delete dirPath and below
global fcount, dcount
namesHere = os.listdir(dirPath)
for name in namesHere: # remove all contents first
path = os.path.join(dirPath, name)
if not os.path.isdir(path): # remove simple files
os.remove(path)
fcount = fcount + 1
else: # recur to remove subdirs
rmall(path)
os.rmdir(dirPath) # remove now-empty dirPath
dcount = dcount + 1
# shell and operating system
import os, sys, re
verbose = 0
dcount = fcount = 0
maxfileload = 100000
blksize = 1024 * 8
def cpfile(pathFrom, pathTo, maxfileload=maxfileload):
"""
copy file pathFrom to pathTo, byte for byte
"""
if os.path.getsize(pathFrom) <= maxfileload:
bytesFrom = open(pathFrom, 'rb').read() # read small file all at once
bytesTo = open(pathTo, 'wb')
bytesTo.write(bytesFrom) # need b mode on Windows
#bytesTo.close()
#bytesFrom.close()
else:
fileFrom = open(pathFrom, 'rb') # read big files in chunks
fileTo = open(pathTo, 'wb') # need b mode here too
while 1:
bytesFrom = fileFrom.read(blksize) # get one block, less at end
if not bytesFrom: break # empty after last chunk
fileTo.write(bytesFrom)
#fileFrom.close()
#fileTo.close()
def cpall(dirFrom, dirTo):
"""
copy contents of dirFrom and below to dirTo
"""
global dcount, fcount
for file in os.listdir(dirFrom): # for files/dirs here
print(file)
pathFrom = os.path.join(dirFrom, file)
pathTo = os.path.join(dirTo, file) # extend both paths
if not os.path.isdir(pathFrom): # copy simple files
try:
if verbose > 1: print('copying', pathFrom, 'to', pathTo)
cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print('Error copying', pathFrom, to, pathTo, '--skipped')
print(sys.exc_info()[0], sys.exc_info()[1])
else:
if verbose: print('copying dir', pathFrom, 'to', pathTo)
try:
os.mkdir(pathTo) # make new subdir
cpall(pathFrom, pathTo) # recur into subdirs
dcount = dcount+1
except:
print('Error creating', pathTo, '--skipped')
print(sys.exc_info()[0], sys.exc_info()[1])
def SetUpFilter(MatchList):
RegList = []
for regexp in MatchList:
a = re.compile(regexp)
RegList.append(a)
return RegList
def cpallWithFilter(dirFrom, dirTo,MatchList):
"""
copy contents of dirFrom and below to dirTo without match
"""
global dcount, fcount
for file in os.listdir(dirFrom): # for files/dirs here
hitt = 0
for matchpat in MatchList:
if(re.match(matchpat,file)):
hitt = 1
print('Refuse: '+file)
if hitt == 0:
pathFrom = os.path.join(dirFrom, file)
pathTo = os.path.join(dirTo, file) # extend both paths
if not os.path.isdir(pathFrom): # copy simple files
try:
if verbose > 1: print('copying', pathFrom, 'to', pathTo)
cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print('Error copying', pathFrom, to, pathTo, '--skipped')
print(sys.exc_info()[0], sys.exc_info()[1])
else:
if verbose: print('copying dir', pathFrom, 'to', pathTo)
try:
os.mkdir(pathTo) # make new subdir
cpallWithFilter(pathFrom, pathTo,MatchList) # recur into subdirs
dcount = dcount+1
except:
print('Error creating', pathTo, '--skipped')
print(sys.exc_info()[0], sys.exc_info()[1])
################################################################
# Use: "python rmall.py directoryPath directoryPath..."
# recursive directory tree deletion: removes all files and
# directories at and below directoryPaths; recurs into subdirs
# and removes parent dir last, because os.rmdir requires that
# directory is empty; like a Unix "rm -rf directoryPath"
################################################################
fcount = dcount = 0
def rmall(dirPath): # delete dirPath and below
global fcount, dcount
namesHere = os.listdir(dirPath)
for name in namesHere: # remove all contents first
path = os.path.join(dirPath, name)
if not os.path.isdir(path): # remove simple files
os.remove(path)
fcount = fcount + 1
else: # recur to remove subdirs
rmall(path)
os.rmdir(dirPath) # remove now-empty dirPath
dcount = dcount + 1

View File

@@ -1,77 +1,77 @@
import os, sys, re,string,FCFileTools
verbose = 0
dcount = fcount = 0
def replaceTemplate(dirName, oldName, newName):
"""
modify contents from dirName and below, replace oldName by newName
"""
for file in os.listdir(dirName):
pathName = os.path.join(dirName, file)
if not os.path.isdir(pathName):
try:
print pathName
origFile = open(pathName) # open file
lines = origFile.readlines() # read the file...
origFile.close() # ... and close it
output = open(pathName,"w") # open the file again
for line in lines:
if (string.find(line, oldName) != -1): # search for 'oldName' and replace it
line = string.replace(line, oldName, newName)
output.write(line) # write the modified line back
output.close # close the file
except:
print 'Error modifying', pathName, '--skipped'
print sys.exc_type, sys.exc_value
else:
try:
replaceTemplate(pathName, oldName, newName)
except:
print 'Error changing to directory', pathName, '--skipped'
print sys.exc_type, sys.exc_value
def copyTemplate(dirFrom, dirTo, oldName, newName, MatchFile, MatchDir):
"""
copy contents of dirFrom and below to dirTo
"""
global dcount, fcount
for file in os.listdir(dirFrom): # for files/dirs here
print file
pathFrom = os.path.join(dirFrom, file)
pathTo = os.path.join(dirTo, file) # extend both paths
if (string.find(pathTo, oldName) != -1):
pathTo = string.replace(pathTo, oldName, newName) # rename file if 'oldName' is found
if not os.path.isdir(pathFrom): # copy simple files
hit = 0
for matchpat in MatchFile:
if(re.match(matchpat,file)):
hit = 1
break
if hit:
print 'Ignore file '+file
continue
try:
if verbose > 1: print 'copying', pathFrom, 'to', pathTo
FCFileTools.cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print 'Error copying', pathFrom, 'to', pathTo, '--skipped'
print sys.exc_type, sys.exc_value
else:
hit = 0
for matchpat in MatchDir:
if(re.match(matchpat,file)):
hit = 1
break
if hit:
print 'Ignore directory '+file
continue
if verbose: print 'copying dir', pathFrom, 'to', pathTo
try:
os.mkdir(pathTo) # make new subdir
copyTemplate(pathFrom, pathTo, oldName, newName, MatchFile, MatchDir) # recur into subdirs
dcount = dcount+1
except:
print 'Error creating', pathTo, '--skipped'
print sys.exc_type, sys.exc_value
import os, sys, re,string,FCFileTools
verbose = 0
dcount = fcount = 0
def replaceTemplate(dirName, oldName, newName):
"""
modify contents from dirName and below, replace oldName by newName
"""
for file in os.listdir(dirName):
pathName = os.path.join(dirName, file)
if not os.path.isdir(pathName):
try:
print(pathName)
origFile = open(pathName) # open file
lines = origFile.readlines() # read the file...
origFile.close() # ... and close it
output = open(pathName,"w") # open the file again
for line in lines:
if (string.find(line, oldName) != -1): # search for 'oldName' and replace it
line = string.replace(line, oldName, newName)
output.write(line) # write the modified line back
output.close # close the file
except:
print('Error modifying', pathName, '--skipped')
print(sys.exc_info()[0], sys.exc_info()[1])
else:
try:
replaceTemplate(pathName, oldName, newName)
except:
print('Error changing to directory', pathName, '--skipped')
print(sys.exc_info()[0], sys.exc_info()[1])
def copyTemplate(dirFrom, dirTo, oldName, newName, MatchFile, MatchDir):
"""
copy contents of dirFrom and below to dirTo
"""
global dcount, fcount
for file in os.listdir(dirFrom): # for files/dirs here
print(file)
pathFrom = os.path.join(dirFrom, file)
pathTo = os.path.join(dirTo, file) # extend both paths
if (string.find(pathTo, oldName) != -1):
pathTo = string.replace(pathTo, oldName, newName) # rename file if 'oldName' is found
if not os.path.isdir(pathFrom): # copy simple files
hit = 0
for matchpat in MatchFile:
if(re.match(matchpat,file)):
hit = 1
break
if hit:
print('Ignore file '+file)
continue
try:
if verbose > 1: print('copying', pathFrom, 'to', pathTo)
FCFileTools.cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print('Error copying', pathFrom, 'to', pathTo, '--skipped')
print(sys.exc_info()[0], sys.exc_info()[1])
else:
hit = 0
for matchpat in MatchDir:
if(re.match(matchpat,file)):
hit = 1
break
if hit:
print('Ignore directory '+file)
continue
if verbose: print('copying dir', pathFrom, 'to', pathTo)
try:
os.mkdir(pathTo) # make new subdir
copyTemplate(pathFrom, pathTo, oldName, newName, MatchFile, MatchDir) # recur into subdirs
dcount = dcount+1
except:
print('Error creating', pathTo, '--skipped')
print(sys.exc_info()[0], sys.exc_info()[1])

View File

@@ -353,7 +353,7 @@ def print_node(graph, node, path):
def main():
if len(sys.argv) < 2:
print "Usage " + sys.argv[0] + " path [additional search paths]"
print("Usage " + sys.argv[0] + " path [additional search paths]")
quit()
path = sys.argv[1]

View File

@@ -36,8 +36,8 @@ import time
BuildNumber = int(FCVersionBuild[23:-1]) +1
# writing new Version.h File
open("../Version.h",'w').writelines([FCVersionMajor,FCVersionMinor,FCVersionBuild[:23]+`BuildNumber`+'\n',FCVersionDisDa[:23]+ '"'+time.asctime()+'"'])
open("../Version.h",'w').writelines([FCVersionMajor,FCVersionMinor,FCVersionBuild[:23]+str(BuildNumber)+'\n',FCVersionDisDa[:23]+ '"'+time.asctime()+'"'])
# writing the ChangeLog.txt
open("../ChangeLog.txt",'a').write("\nVersion: V"+FCVersionMajor[23:-1]+"."+FCVersionMinor[23:-1]+"B"+`BuildNumber`+" Date: "+time.asctime()+' +++++++++++++++++++++++++++++++\n')
open("../ChangeLog.txt",'a').write("\nVersion: V"+FCVersionMajor[23:-1]+"."+FCVersionMinor[23:-1]+"B"+str(BuildNumber)+" Date: "+time.asctime()+' +++++++++++++++++++++++++++++++\n')

View File

@@ -1,49 +1,49 @@
#! python
# -*- coding: utf-8 -*-
# (c) 2012 Juergen Riegel LGPL
#
# Script to create files used in Windows build
# uses SubWCRev.py for version detection#
import SubWCRev,getopt,sys,string
def main():
input=""
output="."
dir="."
try:
opts, args = getopt.getopt(sys.argv[1:], "dso:", ["dir=","src=","out="])
except getopt.GetoptError:
pass
for o, a in opts:
if o in ("-d", "--dir"):
dir = a
if o in ("-s", "--src"):
input = a
if o in ("-o", "--out"):
output = a
git = SubWCRev.GitControl()
if(git.extractInfo(input)):
print git.hash
print git.branch
print git.rev[0:4]
print git.date
print git.url
print input
print output
f = open(input,'r')
o = open(output,'w')
for line in f.readlines():
line = string.replace(line,'$WCREV$',git.rev[0:4])
line = string.replace(line,'$WCDATE$',git.date)
line = string.replace(line,'$WCURL$',git.url)
o.write(line)
if __name__ == "__main__":
main()
#! python
# -*- coding: utf-8 -*-
# (c) 2012 Juergen Riegel LGPL
#
# Script to create files used in Windows build
# uses SubWCRev.py for version detection#
import SubWCRev,getopt,sys,string
def main():
input=""
output="."
dir="."
try:
opts, args = getopt.getopt(sys.argv[1:], "dso:", ["dir=","src=","out="])
except getopt.GetoptError:
pass
for o, a in opts:
if o in ("-d", "--dir"):
dir = a
if o in ("-s", "--src"):
input = a
if o in ("-o", "--out"):
output = a
git = SubWCRev.GitControl()
if(git.extractInfo(input)):
print(git.hash)
print(git.branch)
print(git.rev[0:4])
print(git.date)
print(git.url)
print(input)
print(output)
f = open(input,'r')
o = open(output,'w')
for line in f.readlines():
line = string.replace(line,'$WCREV$',git.rev[0:4])
line = string.replace(line,'$WCDATE$',git.date)
line = string.replace(line,'$WCURL$',git.url)
o.write(line)
if __name__ == "__main__":
main()

View File

@@ -47,24 +47,24 @@ hhcFooter=""" </qresource>
"""
EndingList = ['.xpm','.svg','.qm','.png','.ui']
locations = [["../Gui/Language","translation.qrc"," prefix=\"/translations\""],
["../Gui/Icons","resource.qrc"," prefix=\"/icons\""],
["../Mod/Assembly/Gui/Resources","Assembly.qrc"],
["../Mod/Complete/Gui/Resources","Complete.qrc"],
["../Mod/Draft/Resources","Draft.qrc"],
["../Mod/Drawing/Gui/Resources","Drawing.qrc"],
["../Mod/Fem/Gui/Resources","Fem.qrc"],
["../Mod/Image/Gui/Resources","Image.qrc"],
["../Mod/Mesh/Gui/Resources","Mesh.qrc"],
["../Mod/MeshPart/Gui/Resources","MeshPart.qrc"],
["../Mod/Part/Gui/Resources","Part.qrc"],
["../Mod/PartDesign/Gui/Resources","PartDesign.qrc"],
["../Mod/Points/Gui/Resources","Points.qrc"],
["../Mod/Raytracing/Gui/Resources","Raytracing.qrc"],
["../Mod/ReverseEngineering/Gui/Resources","ReverseEngineering.qrc"],
["../Mod/Robot/Gui/Resources","Robot.qrc"],
["../Mod/Sketcher/Gui/Resources","Sketcher.qrc"]]
locations = [["../Gui/Language","translation.qrc"," prefix=\"/translations\""],
["../Gui/Icons","resource.qrc"," prefix=\"/icons\""],
["../Mod/Assembly/Gui/Resources","Assembly.qrc"],
["../Mod/Complete/Gui/Resources","Complete.qrc"],
["../Mod/Draft/Resources","Draft.qrc"],
["../Mod/Drawing/Gui/Resources","Drawing.qrc"],
["../Mod/Fem/Gui/Resources","Fem.qrc"],
["../Mod/Image/Gui/Resources","Image.qrc"],
["../Mod/Mesh/Gui/Resources","Mesh.qrc"],
["../Mod/MeshPart/Gui/Resources","MeshPart.qrc"],
["../Mod/Part/Gui/Resources","Part.qrc"],
["../Mod/PartDesign/Gui/Resources","PartDesign.qrc"],
["../Mod/Points/Gui/Resources","Points.qrc"],
["../Mod/Raytracing/Gui/Resources","Raytracing.qrc"],
["../Mod/ReverseEngineering/Gui/Resources","ReverseEngineering.qrc"],
["../Mod/Robot/Gui/Resources","Robot.qrc"],
["../Mod/Sketcher/Gui/Resources","Sketcher.qrc"]]
def main():
global Verbose,Automatic,ExtraDist,Dir,Output
@@ -90,7 +90,7 @@ def main():
if o in ("-o", "--out-file"):
Output = a
if o in ("-d", "--directory"):
print "Using path: " + a +"\n"
print("Using path: " + a +"\n")
Dir = a
if Automatic:
@@ -123,7 +123,7 @@ def updateResourceFile(Dir, Output,prefix=""):
FilePath = FilePathOrg.replace(DirPath,'')
FilePath = FilePath.replace('.\\','')
FilePath = FilePath.replace('\\','/')
if Verbose: print FilePathOrg + ' -> ' + FilePath
if Verbose: print(FilePathOrg + ' -> ' + FilePath)
filelist.append(FilePath)
@@ -139,7 +139,7 @@ def makeTargetExtraDist(Dir):
extensions.append(".qrc")
extensions.append(".bat")
extensions.append(".ts")
print ("EXTRA_DIST = \\")
print("EXTRA_DIST = \\")
DirPath = Dir + os.path.sep
for root, dirs, files in os.walk(Dir):
for name in files:
@@ -148,8 +148,8 @@ def makeTargetExtraDist(Dir):
FilePath = FilePathOrg.replace(DirPath,'')
FilePath = FilePath.replace('.\\','')
FilePath = FilePath.replace('\\','/')
print ("\t\t%s \\" % (FilePath))
print
print("\t\t%s \\" % (FilePath))
print()
if __name__ == "__main__":
main()

View File

@@ -55,7 +55,7 @@ elif Cmd == "createpymodule" or Cmd == "cp":
elif Cmd == "?" or Cmd == "help" or Cmd == "/h" or Cmd == "/?" or Cmd == "-h" or Cmd == "-help":
sys.stdout.write(help1)
else:
print CmdRaw + " is an unknown command!\n"
print(CmdRaw + " is an unknown command!\n")
sys.exit(1)

View File

@@ -29,7 +29,7 @@ sys.stdout.write ('Running source documentation ...')
# running doxygen with the parameters from the config file
param = "doxygen fcbt"+ds+"BuildDocDoxy.cfg"
LogFile.write(param)
print param
print(param)
text = os.popen(param).read()
LogFile.write(text)
if not os.path.isdir("../../doc/SourceDocumentation"):

View File

@@ -40,21 +40,21 @@ def cpall(dirFrom, dirTo):
pathTo = os.path.join(dirTo, file) # extend both paths
if not os.path.isdir(pathFrom): # copy simple files
try:
if verbose > 1: print 'copying', pathFrom, 'to', pathTo
if verbose > 1: print('copying', pathFrom, 'to', pathTo)
cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print 'Error copying', pathFrom, to, pathTo, '--skipped'
print sys.exc_type, sys.exc_value
print('Error copying', pathFrom, to, pathTo, '--skipped')
print(sys.exc_type, sys.exc_value)
else:
if verbose: print 'copying dir', pathFrom, 'to', pathTo
if verbose: print('copying dir', pathFrom, 'to', pathTo)
try:
os.mkdir(pathTo) # make new subdir
cpall(pathFrom, pathTo) # recur into subdirs
dcount = dcount+1
except:
print 'Error creating', pathTo, '--skipped'
print sys.exc_type, sys.exc_value
print('Error creating', pathTo, '--skipped')
print(sys.exc_type, sys.exc_value)
def SetUpFilter(MatchList):
RegList = []
@@ -79,21 +79,21 @@ def cpallWithFilter(dirFrom, dirTo,MatchList):
pathTo = os.path.join(dirTo, file) # extend both paths
if not os.path.isdir(pathFrom): # copy simple files
try:
if verbose > 1: print 'copying', pathFrom, 'to', pathTo
if verbose > 1: print('copying', pathFrom, 'to', pathTo)
cpfile(pathFrom, pathTo)
fcount = fcount+1
except:
print 'Error copying', pathFrom, to, pathTo, '--skipped'
print sys.exc_type, sys.exc_value
print('Error copying', pathFrom, to, pathTo, '--skipped')
print(sys.exc_type, sys.exc_value)
else:
if verbose: print 'copying dir', pathFrom, 'to', pathTo
if verbose: print('copying dir', pathFrom, 'to', pathTo)
try:
os.mkdir(pathTo) # make new subdir
cpallWithFilter(pathFrom, pathTo,MatchList) # recur into subdirs
dcount = dcount+1
except:
print 'Error creating', pathTo, '--skipped'
print sys.exc_type, sys.exc_value
print('Error creating', pathTo, '--skipped')
print(sys.exc_type, sys.exc_value)
################################################################
# Use: "python rmall.py directoryPath directoryPath..."

View File

@@ -35,23 +35,24 @@ import time
# increasing build number
BuildNumber = int(FCVersionBuild[23:-1]) +1
print "New Buildnumber is:"
print BuildNumber
print "\n"
print("New Buildnumber is:")
print(BuildNumber)
print("\n")
# writing new Version.h File
open("../Version.h",'w').writelines([FCVersionMajor,
FCVersionMinor,
FCVersionBuild[:23]+`BuildNumber`+'\n',
FCVersionBuild[:23]+str(BuildNumber)+'\n',
FCVersionDisDa[:23]+ '"'+time.asctime()+'" \n\n'])
# writing the ChangeLog.txt
open("../ChangeLog.txt",'a').write("\nVersion: V"+FCVersionMajor[23:-1]+"."+FCVersionMinor[23:-1]+"B"+`BuildNumber`+" Date: "+time.asctime()+' +++++++++++++++++++++++++++++++\n')
open("../ChangeLog.txt",'a').write("\nVersion: V"+FCVersionMajor[23:-1]+"."+FCVersionMinor[23:-1]+"B"+
str(BuildNumber)+" Date: "+time.asctime()+' +++++++++++++++++++++++++++++++\n')
# writing new Version.wxi File
open("../Version.wxi",'w').writelines(["<Include>\n",
" <?define FCVersionMajor ="+FCVersionMajor[23:-1] + " ?>\n",
" <?define FCVersionMinor ="+FCVersionMinor[23:-1] + " ?>\n",
" <?define FCVersionBuild ="+ `BuildNumber` + " ?>\n",
" <?define FCVersionBuild ="+ str(BuildNumber) + " ?>\n",
"</Include> \n"])

View File

@@ -1,6 +1,6 @@
#!/usr/bin/python
print "Fetching download statistics from github..."
print("Fetching download statistics from github...")
import requests
r=requests.get('https://api.github.com/repos/FreeCAD/FreeCAD/releases')
@@ -8,4 +8,4 @@ myobj = r.json()
for p in myobj:
if "assets" in p:
for asset in p['assets']:
print (asset['name'] + ": " + str(asset['download_count']) + " downloads")
print((asset['name'] + ": " + str(asset['download_count']) + " downloads"))

View File

@@ -5,7 +5,7 @@
# Python script to make source tarballs.
#
import sys, os, getopt, tarfile, gzip, time, StringIO, platform, shutil
import sys, os, getopt, tarfile, gzip, time, io, platform, shutil
def main():
srcdir="."
@@ -43,7 +43,7 @@ def main():
revision='%04d' % (info.count('\n'))
verfile = open("%s/src/Build/Version.h" % (bindir), 'r')
verstream = StringIO.StringIO(verfile.read())
verstream = io.StringIO(verfile.read())
verfile.close()
version_minor = verstream.getvalue().split('FCVersionMinor "')[1][:2]
@@ -58,11 +58,11 @@ def main():
TGZNAME = DIRNAME + '-dfsg.tar.gz'
verinfo = tarfile.TarInfo(DIRNAME + "/src/Build/Version.h")
verinfo.mode = 0660
verinfo.mode = 0o660
verinfo.size = len(verstream.getvalue())
verinfo.mtime = time.time()
print "git archive %s --prefix=%s/ HEAD" % (wta, DIRNAME)
print(("git archive %s --prefix=%s/ HEAD" % (wta, DIRNAME)))
if platform.system() == 'Windows':
os.popen("git archive %s --prefix=%s/ --output=%s HEAD"
% (wta, DIRNAME, TARNAME)).read()
@@ -80,7 +80,7 @@ def main():
else:
tardata = os.popen("git archive %s --prefix=%s/ HEAD"
% (wta, DIRNAME)).read()
tarstream = StringIO.StringIO(tardata)
tarstream = io.StringIO(tardata)
tar = tarfile.TarFile(mode="a", fileobj=tarstream)
tar.addfile(verinfo, verstream)
@@ -92,7 +92,7 @@ def main():
if dfsg:
os.remove("src/.gitattributes")
print "Created " + TGZNAME
print(("Created " + TGZNAME))
# Unpack and build
if check:
archive=tarfile.open(mode='r:gz',name=TGZNAME)

View File

@@ -331,7 +331,8 @@ Embedding_FreeCADGui
Code_snippets"""
import sys, os, re, tempfile, getopt, shutil, time
from urllib2 import urlopen, HTTPError
from urllib.request import urlopen
from urllib.error import HTTPError
# CONFIGURATION #################################################
@@ -363,19 +364,19 @@ def crawl():
return 1
elif PDFCONVERTOR == 'htmldoc':
if os.system('htmldoc --version'):
print "Error: Htmldoc not found, exiting."
print("Error: Htmldoc not found, exiting.")
return 1
try:
from PyPDF2 import PdfFileReader,PdfFileWriter
except:
print "Error: Python-pypdf2 not installed, exiting."
print("Error: Python-pypdf2 not installed, exiting.")
# run ########################################################
buildpdffiles()
joinpdf()
if VERBOSE: print "All done!"
if VERBOSE: print("All done!")
return 0
@@ -389,10 +390,10 @@ def buildpdffiles():
for i in templist:
if i[-5:] == '.html':
fileslist.append(i)
print "converting ",len(fileslist)," pages"
print("converting ",len(fileslist)," pages")
i = 1
for f in fileslist:
print i," : ",f
print(i," : ",f)
if PDFCONVERTOR == 'pisa':
createpdf_pisa(f[:-5])
elif PDFCONVERTOR == 'wkhtmltopdf':
@@ -421,7 +422,7 @@ def createpdf_pisa(pagename):
if (not exists(pagename+".pdf",image=True)) or OVERWRTIE:
infile = open(FOLDER + os.sep + pagename+'.html','ro')
outfile = open(FOLDER + os.sep + pagename+'.pdf','wb')
if VERBOSE: print "Converting " + pagename + " to pdf..."
if VERBOSE: print("Converting " + pagename + " to pdf...")
pdf = pisa.CreatePDF(infile,outfile,FOLDER,link_callback=fetch_resources)
outfile.close()
if pdf.err:
@@ -441,7 +442,7 @@ def createpdf_firefox(pagename):
if os.path.exists(FIREFOXPDFFOLDER + os.sep + pagename + ".pdf"):
shutil.move(FIREFOXPDFFOLDER+os.sep+pagename+".pdf",outfile)
else:
print "-----------------------------------------> Couldn't find print output!"
print("-----------------------------------------> Couldn't find print output!")
def createpdf_htmldoc(pagename):
@@ -458,16 +459,16 @@ def createpdf_wkhtmltopdf(pagename):
infile = FOLDER + os.sep + pagename+'.html'
outfile = FOLDER + os.sep + pagename+'.pdf'
cmd = 'wkhtmltopdf -L 5mm --user-style-sheet '+FOLDER+os.sep+'wkhtmltopdf.css '+infile+' '+outfile
print cmd
print(cmd)
#return os.system(cmd)
else:
print "skipping"
print("skipping")
def joinpdf():
"creates one pdf file from several others, following order from the cover"
from PyPDF2 import PdfFileReader,PdfFileWriter
if VERBOSE: print "Building table of contents..."
if VERBOSE: print("Building table of contents...")
result = PdfFileWriter()
createCover()
@@ -488,7 +489,7 @@ def joinpdf():
if page == "end":
parent = False
continue
if VERBOSE: print 'Appending',page, "at position",count
if VERBOSE: print('Appending',page, "at position",count)
title = page.replace("_"," ")
pdffile = page + ".pdf"
if exists(pdffile,True):
@@ -504,16 +505,16 @@ def joinpdf():
result.addBookmark(title,count,parent)
count += numpages
else:
print "page",pdffile,"not found, aborting."
print("page",pdffile,"not found, aborting.")
sys.exit()
if VERBOSE: print "Writing..."
if VERBOSE: print("Writing...")
outputfile = open(FOLDER+os.sep+"freecad.pdf",'wb')
result.write(outputfile)
outputfile.close()
if VERBOSE:
print ' '
print 'Successfully created '+FOLDER+os.sep+'freecad.pdf'
print(' ')
print('Successfully created '+FOLDER+os.sep+'freecad.pdf')
def local(page,image=False):
@@ -544,7 +545,7 @@ def makeStyleSheet():
def createCover():
"downloads and creates a cover page"
if VERBOSE: print "fetching " + COVER
if VERBOSE: print("fetching " + COVER)
data = (urlopen(COVER).read())
path = FOLDER + os.sep + "Cover.svg"
fil = open(path,'wb')

View File

@@ -41,7 +41,8 @@ This script needs to be run after the wiki has been fully downloaded. It has thr
"""
import sys, os, re, tempfile, getopt
from urllib2 import urlopen, HTTPError
from urllib.request import urlopen
from urllib.error import HTTPError
# CONFIGURATION #################################################
@@ -58,70 +59,70 @@ def update(pagename=None):
if not os.path.exists("revisions.txt"): # case 1)
if not os.path.exists("wikifiles.txt"):
print "No wikifiles.txt found. Aborting"
print("No wikifiles.txt found. Aborting")
sys.exit()
pages = []
f = open("wikifiles.txt","r")
if VERBOSE: print "Reading existing list..."
if VERBOSE: print("Reading existing list...")
for l in f.readlines():
if l.strip() != "":
if not "/wiki/" in l:
if VERBOSE: print "Adding ",l.strip()
if VERBOSE: print("Adding ",l.strip())
pages.append(l.strip())
f.close()
if VERBOSE: print "Added ",str(len(pages))," entries"
if VERBOSE: print("Added ",str(len(pages))," entries")
i = 1
revs = []
for page in pages:
rev = getRevision(page)
if VERBOSE: print str(i)," revision: ",rev
if VERBOSE: print(str(i)," revision: ",rev)
revs.append(page+":"+rev)
i += 1
writeList(revs,"revisions.txt")
print "All done. Successfully written revisions.txt with ",len(revs)," entries."
print("All done. Successfully written revisions.txt with ",len(revs)," entries.")
elif os.path.exists("revisions.txt") and (not os.path.exists("updates.txt")): # case 2)
f = open("revisions.txt","r")
if VERBOSE: print "Reading revisions list..."
if VERBOSE: print("Reading revisions list...")
revisions = {}
for l in f.readlines():
if l.strip() != "":
r = l.strip().split(":")
p = ":".join(r[:-1])
if VERBOSE: print "Adding ",p
if VERBOSE: print("Adding ",p)
revisions[p] = r[1]
f.close()
if VERBOSE: print "Added ",str(len(revisions.keys()))," entries"
if VERBOSE: print("Added ",str(len(list(revisions.keys())))," entries")
updates = []
i = 1
for page in revisions.keys():
for page in list(revisions.keys()):
rev = getRevision(page)
if rev != revisions[page]:
if VERBOSE: print str(i),page," has a new revision: ",rev
if VERBOSE: print(str(i),page," has a new revision: ",rev)
updates.append(page)
else:
if VERBOSE: print str(i),page," is up to date "
if VERBOSE: print(str(i),page," is up to date ")
i += 1
if updates:
writeList(updates,"updates.txt")
print "All done. Successfully written updates.txt with ",len(updates)," entries."
print("All done. Successfully written updates.txt with ",len(updates)," entries.")
else:
print "Everything up to date. Nothing to be done."
print("Everything up to date. Nothing to be done.")
elif os.path.exists("revisions.txt") and os.path.exists("updates.txt"): # case 3)
if not os.path.exists("wikifiles.txt"):
print "No wikifiles.txt found. Aborting"
print("No wikifiles.txt found. Aborting")
sys.exit()
wikifiles = []
f = open("wikifiles.txt","r")
if VERBOSE: print "Reading wikifiles list..."
if VERBOSE: print("Reading wikifiles list...")
for l in f.readlines():
if l.strip() != "":
wikifiles.append(l.strip())
f.close()
if VERBOSE: print "Read ",str(len(wikifiles))," entries"
if VERBOSE: print("Read ",str(len(wikifiles))," entries")
f = open("revisions.txt","r")
if VERBOSE: print "Reading revisions list..."
if VERBOSE: print("Reading revisions list...")
revisions = {}
for l in f.readlines():
if l.strip() != "":
@@ -131,25 +132,25 @@ def update(pagename=None):
f.close()
todo = []
f = open("updates.txt","r")
if VERBOSE: print "Reading updates list..."
if VERBOSE: print("Reading updates list...")
for l in f.readlines():
if l.strip() != "":
todo.append(l.strip())
f.close()
if VERBOSE: print str(len(todo))," pages to scan..."
if VERBOSE: print(str(len(todo))," pages to scan...")
import buildwikiindex
buildwikiindex.WRITETHROUGH = False
buildwikiindex.VERBOSE = VERBOSE
updates = []
for t in todo:
if VERBOSE: print "Scanning ",t
if VERBOSE: print("Scanning ",t)
updates.extend(buildwikiindex.crawl(t))
updates = [u for u in updates if not u in wikifiles]
if VERBOSE: print str(len(updates))," files to download..."
if VERBOSE: print(str(len(updates))," files to download...")
import downloadwiki
i = 1
for u in updates:
if VERBOSE: print i, ": Fetching ", u
if VERBOSE: print(i, ": Fetching ", u)
downloadwiki.get(u)
if not "/wiki/" in u:
rev = getRevision(u)
@@ -157,26 +158,26 @@ def update(pagename=None):
if not u in wikifiles:
wikifiles.append(u)
i += 1
if VERBOSE: print "Updating wikifiles and revisions..."
if VERBOSE: print("Updating wikifiles and revisions...")
writeList(wikifiles,"wikifiles.txt")
updatedrevs = []
for k in revisions.keys():
for k in list(revisions.keys()):
updatedrevs.append(k+":"+revisions[k])
writeList(updatedrevs,"revisions.txt")
os.remove("updates.txt")
if VERBOSE: print "All done!"
if VERBOSE: print("All done!")
def getRevision(page):
html = fetchPage(page)
revs = re.findall("wgCurRevisionId\"\:(.*?),",html)
if len(revs) == 1:
return revs[0]
print 'Error: unable to get revision ID of ' + page
print('Error: unable to get revision ID of ' + page)
sys.exit()
def fetchPage(page):
"retrieves given page from the wiki"
print "fetching: ",page
print("fetching: ",page)
failcount = 0
while failcount < MAXFAIL:
try:
@@ -184,7 +185,7 @@ def fetchPage(page):
return html
except HTTPError:
failcount += 1
print 'Error: unable to fetch page ' + page
print('Error: unable to fetch page ' + page)
sys.exit()
def writeList(pages,filename):
@@ -192,7 +193,7 @@ def writeList(pages,filename):
for p in pages:
f.write(p+"\n")
f.close()
if VERBOSE: print "written ",filename
if VERBOSE: print("written ",filename)
if __name__ == "__main__":
update(sys.argv[1:])

View File

@@ -1,89 +1,89 @@
#! python
# -*- coding: utf-8 -*-
# (c) 2007 Werner Mayer LGPL
# Create HTML documentation from FreeCAD's Python modules and classes.
import pydoc, pkgutil, sys, os, dircache, zipfile
def generateDoc():
# Get the path to the FreeCAD module relative to this directory
toolspath = os.path.dirname(__file__)
homepath = toolspath + '/../../'
homepath = os.path.realpath(homepath)
binpath = os.path.join(homepath, 'bin')
docpath = os.path.join(homepath, 'doc')
modpath = os.path.join(homepath, 'Mod')
# Change to the doc directory
cwd = os.getcwd()
print 'Change to ' + docpath
os.chdir(homepath)
if os.path.exists('doc') == False:
os.mkdir('doc')
os.chdir('doc')
# Add the bin path to the system path
if os.name == 'nt':
os.environ['PATH'] = os.environ['PATH'] + ';' + binpath
else:
os.environ['PATH'] = os.environ['PATH'] + ':' + binpath
# Import FreeCAD module
sys.path.append(binpath)
print 'Write documentation for module \'FreeCAD\''
pydoc.writedoc('FreeCAD')
print ''
# Module directory
ModDirs = dircache.listdir(modpath)
# Search for module paths and append them to Python path
#for Dir in ModDirs:
# if (Dir != '__init__.py'):
# sys.path.append( os.path.join(modpath,Dir) )
# Walk through the module paths again and try loading the modules to create HTML files
for Dir in ModDirs:
dest = os.path.join(modpath,Dir)
print 'Write documentation for module \'' + Dir + '\''
if (Dir != '__init__.py'):
writedocs(dest)
print ''
# Now we must create a document and create instances of all Python classes which
# cannot be directly created by a module.
# Create a ZIP archive from all HTML files
print 'Creating ZIP archive \'docs.zip\'...'
zip = zipfile.ZipFile('docs.zip', 'w')
for file in os.listdir('.'):
if not os.path.isdir(file):
if file.find('.html') > 0:
print ' Adding file ' + file + ' to archive'
zip.write(file)
print 'done.'
zip.close()
# Remove all HTML files
print 'Cleaning up HTML files...'
for file in os.listdir('.'):
if not os.path.isdir(file):
if file.find('.html') > 0:
print ' Removing ' + file
os.remove(file)
os.chdir(cwd)
print 'done.'
def writedocs(dir, pkgpath='', done=None):
"""Write out HTML documentation for all modules in a directory tree."""
if done is None: done = {}
for importer, modname, ispkg in pkgutil.walk_packages([dir], pkgpath):
# Ignore all debug modules
if modname[-2:] != '_d':
pydoc.writedoc(modname)
return
if __name__ == "__main__":
generateDoc()
#! python
# -*- coding: utf-8 -*-
# (c) 2007 Werner Mayer LGPL
# Create HTML documentation from FreeCAD's Python modules and classes.
import pydoc, pkgutil, sys, os, dircache, zipfile
def generateDoc():
# Get the path to the FreeCAD module relative to this directory
toolspath = os.path.dirname(__file__)
homepath = toolspath + '/../../'
homepath = os.path.realpath(homepath)
binpath = os.path.join(homepath, 'bin')
docpath = os.path.join(homepath, 'doc')
modpath = os.path.join(homepath, 'Mod')
# Change to the doc directory
cwd = os.getcwd()
print('Change to ' + docpath)
os.chdir(homepath)
if os.path.exists('doc') == False:
os.mkdir('doc')
os.chdir('doc')
# Add the bin path to the system path
if os.name == 'nt':
os.environ['PATH'] = os.environ['PATH'] + ';' + binpath
else:
os.environ['PATH'] = os.environ['PATH'] + ':' + binpath
# Import FreeCAD module
sys.path.append(binpath)
print('Write documentation for module \'FreeCAD\'')
pydoc.writedoc('FreeCAD')
print('')
# Module directory
ModDirs = dircache.listdir(modpath)
# Search for module paths and append them to Python path
#for Dir in ModDirs:
# if (Dir != '__init__.py'):
# sys.path.append( os.path.join(modpath,Dir) )
# Walk through the module paths again and try loading the modules to create HTML files
for Dir in ModDirs:
dest = os.path.join(modpath,Dir)
print('Write documentation for module \'' + Dir + '\'')
if (Dir != '__init__.py'):
writedocs(dest)
print('')
# Now we must create a document and create instances of all Python classes which
# cannot be directly created by a module.
# Create a ZIP archive from all HTML files
print('Creating ZIP archive \'docs.zip\'...')
zip = zipfile.ZipFile('docs.zip', 'w')
for file in os.listdir('.'):
if not os.path.isdir(file):
if file.find('.html') > 0:
print(' Adding file ' + file + ' to archive')
zip.write(file)
print('done.')
zip.close()
# Remove all HTML files
print('Cleaning up HTML files...')
for file in os.listdir('.'):
if not os.path.isdir(file):
if file.find('.html') > 0:
print(' Removing ' + file)
os.remove(file)
os.chdir(cwd)
print('done.')
def writedocs(dir, pkgpath='', done=None):
"""Write out HTML documentation for all modules in a directory tree."""
if done is None: done = {}
for importer, modname, ispkg in pkgutil.walk_packages([dir], pkgpath):
# Ignore all debug modules
if modname[-2:] != '_d':
pydoc.writedoc(modname)
return
if __name__ == "__main__":
generateDoc()

View File

@@ -123,14 +123,14 @@ if __name__ == "__main__":
# only one argument allowed
arg = sys.argv[1:]
if len(arg) != 1:
print __doc__
print(__doc__)
sys.exit()
arg = arg[0]
# getting API key stored in ~/.crowdin-freecad
configfile = os.path.expanduser("~")+os.sep+".crowdin-freecad"
if not os.path.exists(configfile):
print "Config file not found!"
print("Config file not found!")
sys.exit()
f = open(configfile)
url = "https://api.crowdin.com/api/project/freecad/"
@@ -146,10 +146,10 @@ if __name__ == "__main__":
c.close()
handler = ResponseHandler()
xml.sax.parseString(b.getvalue(),handler)
print handler.data
print(handler.data)
elif arg == "build":
print "Building (warning, this can be invoked only once per 30 minutes)..."
print("Building (warning, this can be invoked only once per 30 minutes)...")
c = pycurl.Curl()
c.setopt(pycurl.URL, url+"export"+key)
b = StringIO.StringIO()
@@ -158,17 +158,17 @@ if __name__ == "__main__":
c.close()
handler = ResponseHandler()
xml.sax.parseString(b.getvalue(),handler)
print handler.data
print(handler.data)
elif arg == "download":
print "Downloading all.zip in current directory..."
print("Downloading all.zip in current directory...")
cmd = "wget -O freecad.zip "+url+"download/all.zip"+key
os.system(cmd)
elif arg == "update":
basepath = os.path.dirname(os.path.abspath("."))
for f in files:
print "Sending ",f[0],"..."
print("Sending ",f[0],"...")
c = pycurl.Curl()
fields = [('files['+f[0]+']', (c.FORM_FILE, basepath+f[1]))]
c.setopt(pycurl.URL, url+"update-file"+key)
@@ -179,9 +179,9 @@ if __name__ == "__main__":
c.close()
handler = ResponseHandler()
xml.sax.parseString(b.getvalue(),handler)
print handler.data
print(handler.data)
else:
print __doc__
print(__doc__)

View File

@@ -98,11 +98,11 @@ default_languages = "af zh-CN zh-TW hr cs nl fi fr de hu ja no pl pt-PT ro ru sr
def updateqrc(qrcpath,lncode):
"updates a qrc file with the given translation entry"
print "opening " + qrcpath + "..."
print("opening " + qrcpath + "...")
# getting qrc file contents
if not os.path.exists(qrcpath):
print "ERROR: Resource file " + qrcpath + " doesn't exist"
print("ERROR: Resource file " + qrcpath + " doesn't exist")
sys.exit()
f = open(qrcpath,"ro")
resources = []
@@ -114,7 +114,7 @@ def updateqrc(qrcpath,lncode):
name = "_" + lncode + ".qm"
for r in resources:
if name in r:
print "language already exists in qrc file"
print("language already exists in qrc file")
return
# find the latest qm line
@@ -123,12 +123,12 @@ def updateqrc(qrcpath,lncode):
if ".qm" in resources[i]:
pos = i
if pos == None:
print "No existing .qm file in this resource. Appending to the end position"
print("No existing .qm file in this resource. Appending to the end position")
for i in range(len(resources)):
if "</qresource>" in resources[i]:
pos = i-1
if pos == None:
print "ERROR: couldn't add qm files to this resource: " + qrcpath
print("ERROR: couldn't add qm files to this resource: " + qrcpath)
sys.exit()
# inserting new entry just after the last one
@@ -140,7 +140,7 @@ def updateqrc(qrcpath,lncode):
line = " <file>translations/"+modname+"_"+lncode+".qm</file>\n"
#print "ERROR: no existing qm entry in this resource: Please add one manually " + qrcpath
#sys.exit()
print "inserting line: ",line
print("inserting line: ",line)
resources.insert(pos+1,line)
# writing the file
@@ -148,7 +148,7 @@ def updateqrc(qrcpath,lncode):
for r in resources:
f.write(r)
f.close()
print "successfully updated ",qrcpath
print("successfully updated ",qrcpath)
def doFile(tsfilepath,targetpath,lncode,qrcpath):
"updates a single ts file, and creates a corresponding qm file"
@@ -161,7 +161,7 @@ def doFile(tsfilepath,targetpath,lncode,qrcpath):
os.system("lrelease " + newpath)
newqm = targetpath + os.sep + basename + "_" + lncode + ".qm"
if not os.path.exists(newqm):
print "ERROR: impossible to create " + newqm + ", aborting"
print("ERROR: impossible to create " + newqm + ", aborting")
sys.exit()
updateqrc(qrcpath,lncode)
@@ -178,24 +178,24 @@ def doLanguage(lncode,fmodule=""):
else:
mods = locations
if not mods:
print "Error: Couldn't find module "+fmodule
print("Error: Couldn't find module "+fmodule)
sys.exit()
for target in mods:
basefilepath = tempfolder + os.sep + lncode + os.sep + target[0] + ".ts"
targetpath = os.path.abspath(target[1])
qrcpath = os.path.abspath(target[2])
doFile(basefilepath,targetpath,lncode,qrcpath)
print lncode + " done!"
print(lncode + " done!")
if __name__ == "__main__":
args = sys.argv[1:]
if len(args) < 1:
print __doc__
print(__doc__)
sys.exit()
try:
opts, args = getopt.getopt(sys.argv[1:], "hd:z:m:", ["help", "directory=","zipfile=", "module="])
except getopt.GetoptError:
print __doc__
print(__doc__)
sys.exit()
# checking on the options
@@ -204,7 +204,7 @@ if __name__ == "__main__":
fmodule = ""
for o, a in opts:
if o in ("-h", "--help"):
print __doc__
print(__doc__)
sys.exit()
if o in ("-d", "--directory"):
inputdir = a
@@ -217,30 +217,30 @@ if __name__ == "__main__":
if inputdir:
tempfolder = os.path.realpath(inputdir)
if not os.path.exists(tempfolder):
print "ERROR: " + tempfolder + " not found"
print("ERROR: " + tempfolder + " not found")
sys.exit()
elif inputzip:
tempfolder = tempfile.mkdtemp()
print "creating temp folder " + tempfolder
print("creating temp folder " + tempfolder)
os.chdir(tempfolder)
inputzip=os.path.realpath(inputzip)
if not os.path.exists(inputzip):
print "ERROR: " + inputzip + " not found"
print("ERROR: " + inputzip + " not found")
sys.exit()
shutil.copy(inputzip,tempfolder)
zfile=zipfile.ZipFile("freecad.zip")
print "extracting freecad.zip..."
print("extracting freecad.zip...")
zfile.extractall()
else:
tempfolder = tempfile.mkdtemp()
print "creating temp folder " + tempfolder
print("creating temp folder " + tempfolder)
os.chdir(tempfolder)
os.system("wget "+crowdinpath)
if not os.path.exists("freecad.zip"):
print "download failed!"
print("download failed!")
sys.exit()
zfile=zipfile.ZipFile("freecad.zip")
print "extracting freecad.zip..."
print("extracting freecad.zip...")
zfile.extractall()
os.chdir(currentfolder)
if not args:
@@ -249,7 +249,7 @@ if __name__ == "__main__":
args = default_languages.split()
for ln in args:
if not os.path.exists(tempfolder + os.sep + ln):
print "ERROR: language path for " + ln + " not found!"
print("ERROR: language path for " + ln + " not found!")
else:
doLanguage(ln,fmodule)

View File

@@ -27,8 +27,8 @@ def runUpdate(filename):
try:
wf = open(LOCAL_BRANCH + "/src/Build/Version.h", 'w')
rf = open(filename, 'r')
except IOError, error:
raise IOError, error
except IOError as error:
raise error
else:
wf.write(rf.read())
wf.close()

View File

@@ -109,7 +109,7 @@ def find_tools():
PYLUPDATE = "pylupdate4"
else:
raise Exception("Cannot find pylupdate")
print "Qt tools:", QMAKE, LUPDATE, PYLUPDATE
print("Qt tools:", QMAKE, LUPDATE, PYLUPDATE)
def filter_dirs(item):
global DirFilter
@@ -136,7 +136,7 @@ def update_python_translation(item):
cur = os.getcwd()
os.chdir(item[0])
execline = item[1].replace("pylupdate",PYLUPDATE)
print "Executing special command in ",item[0],": ",execline
print("Executing special command in ",item[0],": ",execline)
os.system(execline)
os.chdir(cur)