build/buildutils/extractJavaLocFiles.py
changeset 80 d6dafc5d983f
parent 21 2a9601315dfc
equal deleted inserted replaced
78:71ad690e91f5 80:d6dafc5d983f
    48 # Path for java loc files inside RESOURCES_FILE.
    48 # Path for java loc files inside RESOURCES_FILE.
    49 RESOURCES_PATH = os.path.join("resources", "com", "nokia", "mj", "impl")
    49 RESOURCES_PATH = os.path.join("resources", "com", "nokia", "mj", "impl")
    50 
    50 
    51 def main():
    51 def main():
    52     parser = OptionParser(
    52     parser = OptionParser(
    53         usage = "Usage: %prog [args] <input_dir> <output_dir>")
    53         usage = "Usage: %prog [args] <input_dir> <output_dir> <loc-file.jar>")
       
    54     parser.add_option(
       
    55         "--files", dest = "files", default = ",".join(JAVA_LOC_FILES),
       
    56         help = "list of Java loc files to read from input (default: %s)" % 
       
    57         ",".join(JAVA_LOC_FILES))
    54     (opts, args) = parser.parse_args()
    58     (opts, args) = parser.parse_args()
       
    59 
       
    60     locFiles = opts.files.split(",")
    55 
    61 
    56     try:
    62     try:
    57         inputDir = args[0]
    63         inputDir = args[0]
    58         outputDir = args[1]
    64         outputDir = args[1]
    59         resourcesFilename = os.path.join(outputDir, args[2])
    65         resourcesFilename = os.path.join(outputDir, args[2])
    65                 inFilename = os.path.join(dirname, file)
    71                 inFilename = os.path.join(dirname, file)
    66                 if LOC_ZIP_FILE.match(file) and zipfile.is_zipfile(inFilename):
    72                 if LOC_ZIP_FILE.match(file) and zipfile.is_zipfile(inFilename):
    67                     outFilename = os.path.join(outputDir, file.lower())
    73                     outFilename = os.path.join(outputDir, file.lower())
    68                     (fileIndex, fileExt) = os.path.splitext(file)
    74                     (fileIndex, fileExt) = os.path.splitext(file)
    69                     print "Extracting %s" % inFilename
    75                     print "Extracting %s" % inFilename
    70                     extractJavaLocFiles(fileIndex, inFilename)
    76                     extractJavaLocFiles(locFiles, fileIndex, inFilename)
    71                     print "Creating %s" % outFilename
    77                     print "Creating %s" % outFilename
    72                     os.system("jar cfM " + outFilename + " " + fileIndex)
    78                     os.system("jar cfM " + outFilename + " " + fileIndex)
    73                     print "Updating %s" % resourcesFilename
    79                     print "Updating %s" % resourcesFilename
    74                     updateResources(fileIndex, resourcesFilename)
    80                     updateResources(fileIndex, resourcesFilename)
    75                     # Remove temporary fileIndex directory.
    81                     # Remove temporary fileIndex directory.
    81     except:
    87     except:
    82         print "Usage: %s <input_dir> <output_dir>" % sys.argv[0]
    88         print "Usage: %s <input_dir> <output_dir>" % sys.argv[0]
    83         traceback.print_exc()
    89         traceback.print_exc()
    84         sys.exit(1)
    90         sys.exit(1)
    85 
    91 
    86 def extractJavaLocFiles(index, inFilename):
    92 def extractJavaLocFiles(locFiles, index, inFilename):
    87     javaLocFiles = ""
    93     javaLocFiles = ""
    88     for javaLocFile in JAVA_LOC_FILES:
    94     for javaLocFile in locFiles:
    89         javaLocFilename = os.path.join(index, javaLocFile + "_" + index + ".loc")
    95         javaLocFilename = index + "/" + javaLocFile + "_" + index + ".loc"
    90         javaLocFiles = javaLocFiles + " " + javaLocFilename
    96         javaLocFiles = javaLocFiles + " " + javaLocFilename
    91     os.system("jar xf " + inFilename + javaLocFiles)
    97     command = "jar xf " + inFilename + javaLocFiles
       
    98     os.system(command)
    92 
    99 
    93 def updateResources(index, resourcesFilename):
   100 def updateResources(index, resourcesFilename):
    94     resourcesDir = os.path.join(index, RESOURCES_PATH)
   101     resourcesDir = os.path.join(index, RESOURCES_PATH)
    95     if not os.path.isdir(resourcesDir):
   102     if not os.path.isdir(resourcesDir):
    96         os.makedirs(resourcesDir)
   103         os.makedirs(resourcesDir)