process_xml2.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/usr/bin/python
  2. def get_parser():
  3. import argparse
  4. parser = argparse.ArgumentParser(description="process xml resources file")
  5. parser.add_argument("--src_data", help = "root folder contains all resources", default = ".")
  6. parser.add_argument("--dest_data", help = "dest root folder for generated files", default = ".")
  7. parser.add_argument("-x", "--xml", help = "xml file to process", default = ".", required = True)
  8. parser.add_argument("-mw", "--max_width", help = "max atlas width", type=int, default = 2048)
  9. parser.add_argument("-mh", "--max_height", help = "max atlas height", type=int, default = 2048)
  10. parser.add_argument("-s", "--scale", help = "scale factor", type=float, default = 1.0)
  11. parser.add_argument("-r", "--resize", help = "downscale/upscale by scale factor", action="store_true", default = False)
  12. parser.add_argument("-us", "--upscale", help = "allow upscale. good option for very HD displays with texture compression", action="store_true", default = False)
  13. parser.add_argument("-c", "--compression", help = "type of images compression. default is pure rgba8888 packed to png",
  14. choices = ["pvrtc", "etc1", "no"], default = "")
  15. parser.add_argument("-np", "--nopng", help = "store images without packing to png",
  16. action="store_true", default = False)
  17. parser.add_argument("-q", "--quality", help = "select quality to compressed textures",
  18. choices = ["default", "fast", "best"], default = "default")
  19. parser.add_argument("-d", "--dither", help = "added dithering to compressed textures (pvr option)", action="store_true", default = False)
  20. #parser.add_argument("--android_sdk", help = "path to android sdk", default = "")
  21. parser.add_argument("-debug", "--debug", help = "debug mode", action="store_true", default = False)
  22. parser.add_argument("-w", "--warnings", help = "show warnings", action="store_true", default = False)
  23. parser.add_argument("-v", "--verbosity", help = "verbosity level. 1 - only errors, 2 - normal. Default value is 2", type=int, default = 2)
  24. parser.add_argument("--md5", help = "generates md5 lists for some special files", type=bool, default = False)
  25. return parser
  26. def do(args):
  27. import os
  28. import sys
  29. folder = os.path.split(os.path.abspath(__file__))[0] + "/src2"
  30. if folder not in sys.path:
  31. sys.path.append(folder)
  32. import xml_processor
  33. p = xml_processor.XmlProcessor(args)
  34. p.process()
  35. def process(values):
  36. ar = values.split(" ")
  37. args = []
  38. for a in ar:
  39. v = a.strip()
  40. if not v:
  41. continue
  42. args.append(v)
  43. args = get_parser().parse_args(args)
  44. do(args)
  45. if __name__ == "__main__":
  46. parser = get_parser()
  47. import time
  48. dt = time.clock()
  49. do(parser.parse_args())
  50. dt = time.clock() - dt
  51. #print "total time: " + str(dt)