def testParseMosflmScriptsOutput(self): """ This method tests the parsing of the MOSFLM script generated by Labelit. """ edPluginLabelitv10 = self.createPlugin() # First file from version 1000rc11 strPathToMOSFLMScript = os.path.join(self.getPluginTestsDataHome(), "integration05_csh_v1000rc11.txt") strMOSFLMScript = self.readAndParseFile(strPathToMOSFLMScript) xsDataLabelitMosflmScriptsOutput = edPluginLabelitv10.parseMosflmScriptsOutput(strMOSFLMScript) xsDataLabelitMosflmScriptsOutput.exportToFile("XSDataLabelitMosflmScriptsOutput_reference.xml") strLabelitMosflmScriptsOutputFile = os.path.join(self.getPluginTestsDataHome(), "XSDataLabelitMosflmScriptsOutput_reference.xml") strLabelitMosflmScriptsOutputXML = self.readAndParseFile(strLabelitMosflmScriptsOutputFile) from XSDataLabelitv10 import XSDataLabelitMosflmScriptsOutput xsDataLabelitMosflmScriptsOutputReference = XSDataLabelitMosflmScriptsOutput.parseString(strLabelitMosflmScriptsOutputXML) EDAssert.equal(xsDataLabelitMosflmScriptsOutputReference.marshal(), xsDataLabelitMosflmScriptsOutput.marshal()) # Second file from version 1000b1 strPathToMOSFLMScript = os.path.join(self.getPluginTestsDataHome(), "integration05_csh_v1000b1.txt") strMOSFLMScript = self.readAndParseFile(strPathToMOSFLMScript) xsDataLabelitMosflmScriptsOutput = edPluginLabelitv10.parseMosflmScriptsOutput(strMOSFLMScript) xsDataLabelitMosflmScriptsOutput.exportToFile("XSDataLabelitMosflmScriptsOutput_v1000b1_reference.xml") strLabelitMosflmScriptsOutputFile = os.path.join(self.getPluginTestsDataHome(), "XSDataLabelitMosflmScriptsOutput_v1000b1_reference.xml") strLabelitMosflmScriptsOutputXML = self.readAndParseFile(strLabelitMosflmScriptsOutputFile) from XSDataLabelitv10 import XSDataLabelitMosflmScriptsOutput xsDataLabelitMosflmScriptsOutputReference = XSDataLabelitMosflmScriptsOutput.parseString(strLabelitMosflmScriptsOutputXML) EDAssert.equal(xsDataLabelitMosflmScriptsOutputReference.marshal(), xsDataLabelitMosflmScriptsOutput.marshal())
def parseMosflmScriptsOutput(self, _strMOSFLMScript): """ This method parses the MOSFLM script generated by Labelit and populates the A- and U-matrices in the XSDataLabelitMosflmScriptsOutput object. """ EDVerbose.DEBUG("EDPluginLabelitv10.parseMOSFLMMatrices") xsDataLabelitMosflmScriptsOutput = XSDataLabelitMosflmScriptsOutput() listMOSFLMScriptLines = _strMOSFLMScript.split("\n") XSDataMatrixDoubleA = XSDataMatrixDouble() # Fix for bug 315: it's not enough to just spit the lines listMOSFLMScriptLine2 = [ listMOSFLMScriptLines[2][0:12], listMOSFLMScriptLines[2][12:24], listMOSFLMScriptLines[2][24:] ] listMOSFLMScriptLine3 = [ listMOSFLMScriptLines[3][0:12], listMOSFLMScriptLines[3][12:24], listMOSFLMScriptLines[3][24:] ] listMOSFLMScriptLine4 = [ listMOSFLMScriptLines[4][0:12], listMOSFLMScriptLines[4][12:24], listMOSFLMScriptLines[4][24:] ] XSDataMatrixDoubleA.setM11(float(listMOSFLMScriptLine2[0])) XSDataMatrixDoubleA.setM12(float(listMOSFLMScriptLine2[1])) XSDataMatrixDoubleA.setM13(float(listMOSFLMScriptLine2[2])) XSDataMatrixDoubleA.setM21(float(listMOSFLMScriptLine3[0])) XSDataMatrixDoubleA.setM22(float(listMOSFLMScriptLine3[1])) XSDataMatrixDoubleA.setM23(float(listMOSFLMScriptLine3[2])) XSDataMatrixDoubleA.setM31(float(listMOSFLMScriptLine4[0])) XSDataMatrixDoubleA.setM32(float(listMOSFLMScriptLine4[1])) XSDataMatrixDoubleA.setM33(float(listMOSFLMScriptLine4[2])) xsDataLabelitMosflmScriptsOutput.setAMatrix(XSDataMatrixDoubleA) XSDataMatrixDoubleU = XSDataMatrixDouble() listMOSFLMScriptLine6 = [ listMOSFLMScriptLines[6][0:12], listMOSFLMScriptLines[6][12:24], listMOSFLMScriptLines[6][24:] ] listMOSFLMScriptLine7 = [ listMOSFLMScriptLines[7][0:12], listMOSFLMScriptLines[7][12:24], listMOSFLMScriptLines[7][24:] ] listMOSFLMScriptLine8 = [ listMOSFLMScriptLines[8][0:12], listMOSFLMScriptLines[8][12:24], listMOSFLMScriptLines[8][24:] ] XSDataMatrixDoubleU.setM11(float(listMOSFLMScriptLine6[0])) XSDataMatrixDoubleU.setM12(float(listMOSFLMScriptLine6[1])) XSDataMatrixDoubleU.setM13(float(listMOSFLMScriptLine6[2])) XSDataMatrixDoubleU.setM21(float(listMOSFLMScriptLine7[0])) XSDataMatrixDoubleU.setM22(float(listMOSFLMScriptLine7[1])) XSDataMatrixDoubleU.setM23(float(listMOSFLMScriptLine7[2])) XSDataMatrixDoubleU.setM31(float(listMOSFLMScriptLine8[0])) XSDataMatrixDoubleU.setM32(float(listMOSFLMScriptLine8[1])) XSDataMatrixDoubleU.setM33(float(listMOSFLMScriptLine8[2])) xsDataLabelitMosflmScriptsOutput.setUMatrix(XSDataMatrixDoubleU) return xsDataLabelitMosflmScriptsOutput
def testParseMosflmScriptsOutput(self): """ This method tests the parsing of the MOSFLM script generated by Labelit. """ edPluginLabelitv10 = self.createPlugin() # First file from version 1000rc11 strPathToMOSFLMScript = os.path.join( self.getPluginTestsDataHome(), "integration05_csh_v1000rc11.txt") strMOSFLMScript = self.readAndParseFile(strPathToMOSFLMScript) xsDataLabelitMosflmScriptsOutput = edPluginLabelitv10.parseMosflmScriptsOutput( strMOSFLMScript) xsDataLabelitMosflmScriptsOutput.exportToFile( "XSDataLabelitMosflmScriptsOutput_reference.xml") strLabelitMosflmScriptsOutputFile = os.path.join( self.getPluginTestsDataHome(), "XSDataLabelitMosflmScriptsOutput_reference.xml") strLabelitMosflmScriptsOutputXML = self.readAndParseFile( strLabelitMosflmScriptsOutputFile) from XSDataLabelitv10 import XSDataLabelitMosflmScriptsOutput xsDataLabelitMosflmScriptsOutputReference = XSDataLabelitMosflmScriptsOutput.parseString( strLabelitMosflmScriptsOutputXML) EDAssert.equal(xsDataLabelitMosflmScriptsOutputReference.marshal(), xsDataLabelitMosflmScriptsOutput.marshal()) # Second file from version 1000b1 strPathToMOSFLMScript = os.path.join(self.getPluginTestsDataHome(), "integration05_csh_v1000b1.txt") strMOSFLMScript = self.readAndParseFile(strPathToMOSFLMScript) xsDataLabelitMosflmScriptsOutput = edPluginLabelitv10.parseMosflmScriptsOutput( strMOSFLMScript) xsDataLabelitMosflmScriptsOutput.exportToFile( "XSDataLabelitMosflmScriptsOutput_v1000b1_reference.xml") strLabelitMosflmScriptsOutputFile = os.path.join( self.getPluginTestsDataHome(), "XSDataLabelitMosflmScriptsOutput_v1000b1_reference.xml") strLabelitMosflmScriptsOutputXML = self.readAndParseFile( strLabelitMosflmScriptsOutputFile) from XSDataLabelitv10 import XSDataLabelitMosflmScriptsOutput xsDataLabelitMosflmScriptsOutputReference = XSDataLabelitMosflmScriptsOutput.parseString( strLabelitMosflmScriptsOutputXML) EDAssert.equal(xsDataLabelitMosflmScriptsOutputReference.marshal(), xsDataLabelitMosflmScriptsOutput.marshal())
def parseMosflmScriptsOutput(self, _strMOSFLMScript): """ This method parses the MOSFLM script generated by Labelit and populates the A- and U-matrices in the XSDataLabelitMosflmScriptsOutput object. """ self.DEBUG("EDPluginLabelitv10.parseMOSFLMMatrices") xsDataLabelitMosflmScriptsOutput = XSDataLabelitMosflmScriptsOutput() listMOSFLMScriptLines = _strMOSFLMScript.split("\n") XSDataMatrixDoubleA = XSDataMatrixDouble() # Fix for bug 315: it's not enough to just spit the lines listMOSFLMScriptLine2 = [ listMOSFLMScriptLines[2][0:12], listMOSFLMScriptLines[2][12:24], listMOSFLMScriptLines[2][24:] ] listMOSFLMScriptLine3 = [ listMOSFLMScriptLines[3][0:12], listMOSFLMScriptLines[3][12:24], listMOSFLMScriptLines[3][24:] ] listMOSFLMScriptLine4 = [ listMOSFLMScriptLines[4][0:12], listMOSFLMScriptLines[4][12:24], listMOSFLMScriptLines[4][24:] ] XSDataMatrixDoubleA.setM11(float(listMOSFLMScriptLine2[0])) XSDataMatrixDoubleA.setM12(float(listMOSFLMScriptLine2[1])) XSDataMatrixDoubleA.setM13(float(listMOSFLMScriptLine2[2])) XSDataMatrixDoubleA.setM21(float(listMOSFLMScriptLine3[0])) XSDataMatrixDoubleA.setM22(float(listMOSFLMScriptLine3[1])) XSDataMatrixDoubleA.setM23(float(listMOSFLMScriptLine3[2])) XSDataMatrixDoubleA.setM31(float(listMOSFLMScriptLine4[0])) XSDataMatrixDoubleA.setM32(float(listMOSFLMScriptLine4[1])) XSDataMatrixDoubleA.setM33(float(listMOSFLMScriptLine4[2])) xsDataLabelitMosflmScriptsOutput.setAMatrix(XSDataMatrixDoubleA) XSDataMatrixDoubleU = XSDataMatrixDouble() listMOSFLMScriptLine6 = [ listMOSFLMScriptLines[6][0:12], listMOSFLMScriptLines[6][12:24], listMOSFLMScriptLines[6][24:] ] listMOSFLMScriptLine7 = [ listMOSFLMScriptLines[7][0:12], listMOSFLMScriptLines[7][12:24], listMOSFLMScriptLines[7][24:] ] listMOSFLMScriptLine8 = [ listMOSFLMScriptLines[8][0:12], listMOSFLMScriptLines[8][12:24], listMOSFLMScriptLines[8][24:] ] XSDataMatrixDoubleU.setM11(float(listMOSFLMScriptLine6[0])) XSDataMatrixDoubleU.setM12(float(listMOSFLMScriptLine6[1])) XSDataMatrixDoubleU.setM13(float(listMOSFLMScriptLine6[2])) XSDataMatrixDoubleU.setM21(float(listMOSFLMScriptLine7[0])) XSDataMatrixDoubleU.setM22(float(listMOSFLMScriptLine7[1])) XSDataMatrixDoubleU.setM23(float(listMOSFLMScriptLine7[2])) XSDataMatrixDoubleU.setM31(float(listMOSFLMScriptLine8[0])) XSDataMatrixDoubleU.setM32(float(listMOSFLMScriptLine8[1])) XSDataMatrixDoubleU.setM33(float(listMOSFLMScriptLine8[2])) xsDataLabelitMosflmScriptsOutput.setUMatrix(XSDataMatrixDoubleU) return xsDataLabelitMosflmScriptsOutput