Example #1
0
 def postProcess(self, _edObject=None):
     EDPluginExecProcessScript.postProcess(self)
     self.DEBUG("EDPluginExecDatGnomv1_1.postProcess")
     # Create some output data
     cwd = self.getWorkingDirectory()
     outfile = os.path.join(cwd, os.path.basename(self.outFile))
     if not os.path.isfile(outfile):
         self.error("EDPluginExecDatGnomv1_1 did not produce output file %s as expected !" % self.outFile)
         self.setFailure()
         self.dataOutput = XSDataResultDatGnom()
         return
     try:
         os.rename(outfile, self.outFile)
     except OSError:  # may fail if src and dst on different filesystem
         shutil.copy(outfile, self.outFile)
     gnom = XSDataGnom(gnomFile=XSDataFile(XSDataString(self.outFile)))
     logfile = os.path.join(self.getWorkingDirectory(), self.getScriptLogFileName())
     out = open(logfile, "r").read().split()
     for key, val, typ in (("dmax:", "dmax", XSDataLength),
                         ("Guinier:", "rgGuinier", XSDataLength),
                         ("Gnom:", "rgGnom", XSDataLength),
                         ("Total:", "total", XSDataDouble)):
         if key in out:
             idx = out.index(key)
             res = out[idx + 1]
             gnom.__setattr__(val, typ(float(res)))
         else:
             self.error("EDPluginExecDatGnomv1_1.postProcess No key %s in file %s" % (key, logfile))
             self.setFailure()
     self.dataOutput = XSDataResultDatGnom(gnom=gnom)
     self.dataOutput.status = XSDataStatus(message=self.getXSDataMessage())
Example #2
0
    def postProcess(self, _edObject=None):
        EDPluginExecProcessScript.postProcess(self)
        self.DEBUG("EDPluginExecDatGnomv1_0.postProcess")
        # Create some output data
        if not os.path.isfile(self.outFile):
            self.error(
                "EDPluginExecDatGnomv1_0 did not produce output file %s as expected !"
                % self.outFile)
            self.setFailure()

        gnom = XSDataGnom(gnomFile=XSDataFile(XSDataString(self.outFile)))
        logfile = os.path.join(self.getWorkingDirectory(),
                               self.getScriptLogFileName())
        out = open(logfile, "r").read().split()
        for key, val, typ in (("Dmax", "dmax", XSDataLength),
                              ("Guinier", "rgGuinier",
                               XSDataLength), ("Gnom", "rgGnom", XSDataLength),
                              ("Total", "total", XSDataDouble)):
            idx = out.index(key)
            if idx == -1:
                self.error("No key %s in file %s" % (key, logfile))
                self.setFailure()
            res = out[idx + 2]
            gnom.__setattr__(val, typ(float(res)))
        self.dataOutput = XSDataResultDatGnom(gnom=gnom)
    def postProcess(self, _edObject=None):
        EDPluginExecProcessScript.postProcess(self)
        self.DEBUG("EDPluginExecDatGnomv1_0.postProcess")
        # Create some output data
        if not os.path.isfile(self.outFile):
            self.error("EDPluginExecDatGnomv1_0 did not produce output file %s as expected !" % self.outFile)
            self.setFailure()
            self.dataOutput = XSDataResultDatGnom()
            return

        gnom = XSDataGnom(gnomFile=XSDataFile(XSDataString(self.outFile)))
        logfile = os.path.join(self.getWorkingDirectory(), self.getScriptLogFileName())
        out = open(logfile, "r").read().split()
        for key, val, typ in (("Dmax", "dmax", XSDataLength),
                            ("Guinier", "rgGuinier", XSDataLength),
                            ("Gnom", "rgGnom", XSDataLength),
                            ("Total", "total", XSDataDouble)):
            if key in out:
                idx = out.index(key)
                res = out[idx + 2]
                gnom.__setattr__(val, typ(float(res)))
            else:
                self.error("EDPluginExecDatGnomv1_0.postProcess No key %s in file %s" % (key, logfile))
                self.setFailure()
        self.dataOutput = XSDataResultDatGnom(gnom=gnom)
Example #4
0
 def postProcess(self, _edObject=None):
     EDPluginExecProcessScript.postProcess(self)
     self.DEBUG("EDPluginExecDatGnomv1_1.postProcess")
     # Create some output data
     cwd = self.getWorkingDirectory()
     outfile = os.path.join(cwd, os.path.basename(self.outFile))
     if not os.path.isfile(outfile):
         self.error(
             "EDPluginExecDatGnomv1_1 did not produce output file %s as expected !"
             % self.outFile)
         self.setFailure()
         self.dataOutput = XSDataResultDatGnom()
         return
     try:
         os.rename(outfile, self.outFile)
     except OSError:  # may fail if src and dst on different filesystem
         shutil.copy(outfile, self.outFile)
     gnom = XSDataGnom(gnomFile=XSDataFile(XSDataString(self.outFile)))
     logfile = os.path.join(self.getWorkingDirectory(),
                            self.getScriptLogFileName())
     out = open(logfile, "r").read().split()
     for key, val, typ in (("dmax:", "dmax", XSDataLength),
                           ("Guinier:", "rgGuinier", XSDataLength),
                           ("Gnom:", "rgGnom", XSDataLength),
                           ("Total:", "total", XSDataDouble)):
         if key in out:
             idx = out.index(key)
             res = out[idx + 1]
             gnom.__setattr__(val, typ(float(res)))
         else:
             self.error(
                 "EDPluginExecDatGnomv1_1.postProcess No key %s in file %s"
                 % (key, logfile))
             self.setFailure()
     self.dataOutput = XSDataResultDatGnom(gnom=gnom)
     self.dataOutput.status = XSDataStatus(message=self.getXSDataMessage())