for iIndex, strArg in enumerate(sys.argv[1:]): strarg = strArg.lower() if strarg == "--verbose": EDVerbose.setVerboseOn() elif strarg == "--debug": EDVerbose.setVerboseDebugOn() strArgPath = strArg if os.path.dirname(strArgPath) == "": strArgPath = os.path.join(strCwd, strArg) strArgPathAbsolute = os.path.abspath(strArgPath) if os.path.exists(strArgPathAbsolute): listPaths.append(strArgPathAbsolute) if listPaths == []: EDVerbose.ERROR("No valid XML file given as input!") EDVerbose.ERROR("Arguments: %r" % sys.argv) EDVerbose.ERROR("Usage: edna-autoproc2ispyb path_to_xml_file [--debug]") sys.exit(1) for strPath in listPaths: EDVerbose.screen("Starting EDNA AutoProc -> ISPyB for file %s" % strPath) xsDataInputStoreAutoProc = XSDataInputStoreAutoProc() strXMLAutoProcContainer = EDUtilsFile.readFile(strPath) xsDataAutoProcContainer = AutoProcContainer.parseString(strXMLAutoProcContainer) if xsDataAutoProcContainer is None: EDVerbose.WARNING("Couldn't parse file %s" % strPath) else: xsDataInputStoreAutoProc.setAutoProcContainer(xsDataAutoProcContainer) edPluginISPyBStoreAutoProc = EDFactoryPluginStatic.loadPlugin("EDPluginISPyBStoreAutoProcv1_4") edPluginISPyBStoreAutoProc.setDataInput(xsDataInputStoreAutoProc) edPluginISPyBStoreAutoProc.connectSUCCESS(successAction) edPluginISPyBStoreAutoProc.connectFAILURE(failureAction) edPluginISPyBStoreAutoProc.executeSynchronous()
EDVerbose.ERROR( "Usage: edna-autoproc2ispyb path_to_xml_file [--debug]") sys.exit(1) for strPath in listPaths: EDVerbose.screen("Starting EDNA AutoProc -> ISPyB for file %s" % strPath) xsDataInputStoreAutoProc = XSDataInputStoreAutoProc() strXMLAutoProcContainer = EDUtilsFile.readFile(strPath) xsDataAutoProcContainer = AutoProcContainer.parseString( strXMLAutoProcContainer) if xsDataAutoProcContainer is None: EDVerbose.WARNING("Couldn't parse file %s" % strPath) else: if xsDataAutoProcContainer.AutoProcProgramContainer.AutoProcProgram.processingStatus == "True": xsDataAutoProcContainer.AutoProcProgramContainer.AutoProcProgram.processingStatus = "SUCCESS" xsDataInputStoreAutoProc.setAutoProcContainer( xsDataAutoProcContainer) edPluginISPyBStoreAutoProc = EDFactoryPluginStatic.loadPlugin( "EDPluginISPyBStoreAutoProcv1_4") edPluginISPyBStoreAutoProc.setDataInput(xsDataInputStoreAutoProc) edPluginISPyBStoreAutoProc.executeSynchronous() if edPluginISPyBStoreAutoProc.isFailure(): EDVerbose.ERROR("XML data not stored in ISPyB") else: xsDataResultISPyBStoreAutoProc = edPluginISPyBStoreAutoProc.dataOutput EDVerbose.screen("XML data sucessfully stored in ISPyB") if xsDataResultISPyBStoreAutoProc.autoProcScalingId is not None: EDVerbose.screen( "autoProcScalingId: %d" % xsDataResultISPyBStoreAutoProc.autoProcScalingId.value) else: EDVerbose.warning("No autoProcScalingId in results!")