parser.add_option("-p", "--path", dest="path", default=scriptDir + "/../../../sample_apps/", help="destination path for generated files") parser.add_option( "-t", "--testpath", dest="testpath", default="", help="destination path for generated files of tester application") (options, args) = parser.parse_args() path = options.path testFilePath = options.testpath generated = gen.Generator(scriptDir, path, testFilePath) generated.initializeFiles() if len(args) < 1: print >> sys.stderr, "ERROR - Please provide the xml file as input" sys.exit(1) for i in range(0, len(args)): xmlfile = args[i] print "\nProcessing xmlfile: " + xmlfile + "\n" if sys.platform != 'win32': cpFile = os.path.join(scriptDir, "cp.xsd") subprocArgs = "xmllint --noout --schema {0} {1}".format( cpFile, xmlfile) rc = subprocess.call(subprocArgs, shell=True) if rc != 0:
print "\nxml xsd validation passed" path = "." if len(sys.argv) >= 3 : path = sys.argv[2] ### Initialize the generated structure ### o = xml2objects.ObjectBuilder(xmlfile) if not cpvalidate.validate_all(o.root): print >> sys.stderr, "\nERROR - logic xml validation did not pass" sys.exit(3) print "\nxml logic validation passed" generated = gen.Generator(scriptDir, path) generated.confirmGenerate() generated.initializeFiles() generated.setControlDeviceData(o.root.controlPanelDevice.name, o.root.controlPanelDevice.headerCode) generated.setLanguageSets(o.root.controlPanelDevice.languageSet) ### Get and process HttpControlElements if hasattr(o.root.controlPanelDevice, "url") : httpControl = http.HttpControl(generated, o.root.controlPanelDevice.url) httpControl.generate() ### Get and process all ControlPanels if hasattr(o.root.controlPanelDevice, "controlPanels") : for cp in o.root.controlPanelDevice.controlPanels.controlPanel : generated.addControlPanel(cp.rootContainer, cp.attr["languageSet"])