#
# Generated Thu Feb 9 10:58::29 2023 by EDGenerateDS.
#
import os
import sys
from xml.dom import (
Node,
minidom,
)
strEdnaHome = os.environ.get("EDNA_HOME", None)
dictLocation = {
"XSDataCommon": "kernel/datamodel",
"XSDataCommon": "kernel/datamodel",
"XSDataCommon": "kernel/datamodel",
"XSDataCommon": "kernel/datamodel",
"XSDataCommon": "kernel/datamodel",
"XSDataCommon": "kernel/datamodel",
"XSDataCommon": "kernel/datamodel",
"XSDataCommon": "kernel/datamodel",
"XSDataMXv1": "mxv1/datamodel",
"XSDataMXv1": "mxv1/datamodel",
"XSDataMXv1": "mxv1/datamodel",
"XSDataCommon": "kernel/datamodel",
"XSDataMXv1": "mxv1/datamodel",
"XSDataMXv1": "mxv1/datamodel",
"XSDataMXv1": "mxv1/datamodel",
}
try:
from XSDataCommon import (
XSData,
XSDataDictionary,
XSDataDouble,
XSDataFile,
XSDataImage,
XSDataInput,
XSDataInteger,
XSDataResult,
XSDataString,
)
from XSDataMXv1 import (
XSDataCollectionPlan,
XSDataDiffractionPlan,
XSDataExperimentalCondition,
XSDataInputCharacterisation,
XSDataResultCharacterisation,
XSDataSampleCrystalMM,
)
except ImportError as error:
if strEdnaHome is not None:
for strXsdName in dictLocation:
strXsdModule = strXsdName + ".py"
strRootdir = os.path.dirname(
os.path.abspath(os.path.join(strEdnaHome, dictLocation[strXsdName]))
)
for strRoot, listDirs, listFiles in os.walk(strRootdir):
if strXsdModule in listFiles:
sys.path.append(strRoot)
else:
raise error
from XSDataCommon import (
XSData,
XSDataDictionary,
XSDataDouble,
XSDataFile,
XSDataImage,
XSDataInput,
XSDataInteger,
XSDataResult,
XSDataString,
)
from XSDataMXv1 import (
XSDataCollectionPlan,
XSDataDiffractionPlan,
XSDataExperimentalCondition,
XSDataInputCharacterisation,
XSDataResultCharacterisation,
XSDataSampleCrystalMM,
)
#
# Support/utility functions.
#
# Compabiltity between Python 2 and 3:
if sys.version.startswith("3"):
unicode = str
from io import StringIO
else:
from StringIO import StringIO
def showIndent(outfile, level):
for idx in range(level):
outfile.write(unicode(" "))
def warnEmptyAttribute(_strName, _strTypeName):
pass
# if not _strTypeName in ["float", "double", "string", "boolean", "integer"]:
# print("Warning! Non-optional attribute %s of type %s is None!" % (_strName, _strTypeName))
class MixedContainer(object):
# Constants for category:
CategoryNone = 0
CategoryText = 1
CategorySimple = 2
CategoryComplex = 3
# Constants for content_type:
TypeNone = 0
TypeText = 1
TypeString = 2
TypeInteger = 3
TypeFloat = 4
TypeDecimal = 5
TypeDouble = 6
TypeBoolean = 7
def __init__(self, category, content_type, name, value):
self.category = category
self.content_type = content_type
self.name = name
self.value = value
def getCategory(self):
return self.category
def getContenttype(self, content_type):
return self.content_type
def getValue(self):
return self.value
def getName(self):
return self.name
def export(self, outfile, level, name):
if self.category == MixedContainer.CategoryText:
outfile.write(self.value)
elif self.category == MixedContainer.CategorySimple:
self.exportSimple(outfile, level, name)
else: # category == MixedContainer.CategoryComplex
self.value.export(outfile, level, name)
def exportSimple(self, outfile, level, name):
if self.content_type == MixedContainer.TypeString:
outfile.write(unicode("<%s>%s</%s>" % (self.name, self.value, self.name)))
elif (
self.content_type == MixedContainer.TypeInteger
or self.content_type == MixedContainer.TypeBoolean
):
outfile.write(unicode("<%s>%d</%s>" % (self.name, self.value, self.name)))
elif (
self.content_type == MixedContainer.TypeFloat
or self.content_type == MixedContainer.TypeDecimal
):
outfile.write(unicode("<%s>%f</%s>" % (self.name, self.value, self.name)))
elif self.content_type == MixedContainer.TypeDouble:
outfile.write(unicode("<%s>%g</%s>" % (self.name, self.value, self.name)))
#
# Data representation classes.
#
class XSDataMXCuBEDataSet(object):
def __init__(self, imageFile=None):
if imageFile is None:
self._imageFile = []
elif imageFile.__class__.__name__ == "list":
self._imageFile = imageFile
else:
strMessage = (
"ERROR! XSDataMXCuBEDataSet constructor argument 'imageFile' is not list but %s"
% self._imageFile.__class__.__name__
)
raise BaseException(strMessage)
# Methods and properties for the 'imageFile' attribute
def getImageFile(self):
return self._imageFile
def setImageFile(self, imageFile):
if imageFile is None:
self._imageFile = []
elif imageFile.__class__.__name__ == "list":
self._imageFile = imageFile
else:
strMessage = (
"ERROR! XSDataMXCuBEDataSet.setImageFile argument is not list but %s"
% imageFile.__class__.__name__
)
raise BaseException(strMessage)
def delImageFile(self):
self._imageFile = None
imageFile = property(
getImageFile, setImageFile, delImageFile, "Property for imageFile"
)
def addImageFile(self, value):
if value is None:
strMessage = "ERROR! XSDataMXCuBEDataSet.addImageFile argument is None"
raise BaseException(strMessage)
elif value.__class__.__name__ == "XSDataImage":
self._imageFile.append(value)
else:
strMessage = (
"ERROR! XSDataMXCuBEDataSet.addImageFile argument is not XSDataImage but %s"
% value.__class__.__name__
)
raise BaseException(strMessage)
def insertImageFile(self, index, value):
if index is None:
strMessage = (
"ERROR! XSDataMXCuBEDataSet.insertImageFile argument 'index' is None"
)
raise BaseException(strMessage)
if value is None:
strMessage = (
"ERROR! XSDataMXCuBEDataSet.insertImageFile argument 'value' is None"
)
raise BaseException(strMessage)
elif value.__class__.__name__ == "XSDataImage":
self._imageFile[index] = value
else:
strMessage = (
"ERROR! XSDataMXCuBEDataSet.addImageFile argument is not XSDataImage but %s"
% value.__class__.__name__
)
raise BaseException(strMessage)
def export(self, outfile, level, name_="XSDataMXCuBEDataSet"):
showIndent(outfile, level)
outfile.write(unicode("<%s>\n" % name_))
self.exportChildren(outfile, level + 1, name_)
showIndent(outfile, level)
outfile.write(unicode("</%s>\n" % name_))
def exportChildren(self, outfile, level, name_="XSDataMXCuBEDataSet"):
pass
for imageFile_ in self.getImageFile():
imageFile_.export(outfile, level, name_="imageFile")
if self.getImageFile() == []:
warnEmptyAttribute("imageFile", "XSDataImage")
def build(self, node_):
for child_ in node_.childNodes:
nodeName_ = child_.nodeName.split(":")[-1]
self.buildChildren(child_, nodeName_)
def buildChildren(self, child_, nodeName_):
if child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "imageFile":
obj_ = XSDataImage()
obj_.build(child_)
self.imageFile.append(obj_)
# Method for marshalling an object
def marshal(self):
oStreamString = StringIO()
oStreamString.write(unicode('<?xml version="1.0" ?>\n'))
self.export(oStreamString, 0, name_="XSDataMXCuBEDataSet")
oStringXML = oStreamString.getvalue()
oStreamString.close()
return oStringXML
# Only to export the entire XML tree to a file stream on disk
def exportToFile(self, _outfileName):
outfile = open(_outfileName, "w")
outfile.write(unicode('<?xml version="1.0" ?>\n'))
self.export(outfile, 0, name_="XSDataMXCuBEDataSet")
outfile.close()
# Deprecated method, replaced by exportToFile
def outputFile(self, _outfileName):
print(
"WARNING: Method outputFile in class XSDataMXCuBEDataSet is deprecated, please use instead exportToFile!"
)
self.exportToFile(_outfileName)
# Method for making a copy in a new instance
def copy(self):
return XSDataMXCuBEDataSet.parseString(self.marshal())
# Static method for parsing a string
def parseString(_inString):
doc = minidom.parseString(_inString)
rootNode = doc.documentElement
rootObj = XSDataMXCuBEDataSet()
rootObj.build(rootNode)
# Check that all minOccurs are obeyed by marshalling the created object
oStreamString = StringIO()
rootObj.export(oStreamString, 0, name_="XSDataMXCuBEDataSet")
oStreamString.close()
return rootObj
parseString = staticmethod(parseString)
# Static method for parsing a file
def parseFile(_inFilePath):
doc = minidom.parse(_inFilePath)
rootNode = doc.documentElement
rootObj = XSDataMXCuBEDataSet()
rootObj.build(rootNode)
return rootObj
parseFile = staticmethod(parseFile)
# end class XSDataMXCuBEDataSet
class XSDataMXCuBEParameters(XSData):
def __init__(
self,
transmission=None,
output_file=None,
current_osc_start=None,
current_energy=None,
directory=None,
number_passes=None,
anomalous=None,
phiStart=None,
current_wavelength=None,
run_number=None,
residues=None,
current_detdistance=None,
number_images=None,
inverse_beam=None,
processing=None,
kappaStart=None,
template=None,
first_image=None,
osc_range=None,
comments=None,
mad_energies=None,
detector_mode=None,
sum_images=None,
process_directory=None,
osc_start=None,
overlap=None,
prefix=None,
mad_4_energy=None,
mad_3_energy=None,
mad_2_energy=None,
mad_1_energy=None,
beam_size_y=None,
beam_size_x=None,
y_beam=None,
x_beam=None,
resolution_at_corner=None,
resolution=None,
exposure_time=None,
blSampleId=None,
sessionId=None,
):
XSData.__init__(
self,
)
if sessionId is None:
self._sessionId = None
else:
self._sessionId = int(sessionId)
if blSampleId is None:
self._blSampleId = None
else:
self._blSampleId = int(blSampleId)
if exposure_time is None:
self._exposure_time = None
else:
self._exposure_time = float(exposure_time)
if resolution is None:
self._resolution = None
else:
self._resolution = float(resolution)
if resolution_at_corner is None:
self._resolution_at_corner = None
else:
self._resolution_at_corner = float(resolution_at_corner)
if x_beam is None:
self._x_beam = None
else:
self._x_beam = float(x_beam)
if y_beam is None:
self._y_beam = None
else:
self._y_beam = float(y_beam)
if beam_size_x is None:
self._beam_size_x = None
else:
self._beam_size_x = float(beam_size_x)
if beam_size_y is None:
self._beam_size_y = None
else:
self._beam_size_y = float(beam_size_y)
if mad_1_energy is None:
self._mad_1_energy = None
else:
self._mad_1_energy = float(mad_1_energy)
if mad_2_energy is None:
self._mad_2_energy = None
else:
self._mad_2_energy = float(mad_2_energy)
if mad_3_energy is None:
self._mad_3_energy = None
else:
self._mad_3_energy = float(mad_3_energy)
if mad_4_energy is None:
self._mad_4_energy = None
else:
self._mad_4_energy = float(mad_4_energy)
self._prefix = str(prefix)
if overlap is None:
self._overlap = None
else:
self._overlap = float(overlap)
if osc_start is None:
self._osc_start = None
else:
self._osc_start = float(osc_start)
self._process_directory = str(process_directory)
if sum_images is None:
self._sum_images = None
else:
self._sum_images = float(sum_images)
self._detector_mode = str(detector_mode)
self._mad_energies = str(mad_energies)
self._comments = str(comments)
if osc_range is None:
self._osc_range = None
else:
self._osc_range = float(osc_range)
if first_image is None:
self._first_image = None
else:
self._first_image = int(first_image)
self._template = str(template)
if kappaStart is None:
self._kappaStart = None
else:
self._kappaStart = float(kappaStart)
self._processing = bool(processing)
if inverse_beam is None:
self._inverse_beam = None
else:
self._inverse_beam = float(inverse_beam)
if number_images is None:
self._number_images = None
else:
self._number_images = int(number_images)
if current_detdistance is None:
self._current_detdistance = None
else:
self._current_detdistance = float(current_detdistance)
self._residues = str(residues)
if run_number is None:
self._run_number = None
else:
self._run_number = int(run_number)
if current_wavelength is None:
self._current_wavelength = None
else:
self._current_wavelength = float(current_wavelength)
if phiStart is None:
self._phiStart = None
else:
self._phiStart = float(phiStart)
self._anomalous = bool(anomalous)
if number_passes is None:
self._number_passes = None
else:
self._number_passes = int(number_passes)
self._directory = str(directory)
if current_energy is None:
self._current_energy = None
else:
self._current_energy = float(current_energy)
if current_osc_start is None:
self._current_osc_start = None
else:
self._current_osc_start = float(current_osc_start)
self._output_file = str(output_file)
if transmission is None:
self._transmission = None
else:
self._transmission = float(transmission)
# Methods and properties for the 'sessionId' attribute
def getSessionId(self):
return self._sessionId
def setSessionId(self, sessionId):
if sessionId is None:
self._sessionId = None
else:
self._sessionId = int(sessionId)
def delSessionId(self):
self._sessionId = None
sessionId = property(
getSessionId, setSessionId, delSessionId, "Property for sessionId"
)
# Methods and properties for the 'blSampleId' attribute
def getBlSampleId(self):
return self._blSampleId
def setBlSampleId(self, blSampleId):
if blSampleId is None:
self._blSampleId = None
else:
self._blSampleId = int(blSampleId)
def delBlSampleId(self):
self._blSampleId = None
blSampleId = property(
getBlSampleId, setBlSampleId, delBlSampleId, "Property for blSampleId"
)
# Methods and properties for the 'exposure_time' attribute
def getExposure_time(self):
return self._exposure_time
def setExposure_time(self, exposure_time):
if exposure_time is None:
self._exposure_time = None
else:
self._exposure_time = float(exposure_time)
def delExposure_time(self):
self._exposure_time = None
exposure_time = property(
getExposure_time,
setExposure_time,
delExposure_time,
"Property for exposure_time",
)
# Methods and properties for the 'resolution' attribute
def getResolution(self):
return self._resolution
def setResolution(self, resolution):
if resolution is None:
self._resolution = None
else:
self._resolution = float(resolution)
def delResolution(self):
self._resolution = None
resolution = property(
getResolution, setResolution, delResolution, "Property for resolution"
)
# Methods and properties for the 'resolution_at_corner' attribute
def getResolution_at_corner(self):
return self._resolution_at_corner
def setResolution_at_corner(self, resolution_at_corner):
if resolution_at_corner is None:
self._resolution_at_corner = None
else:
self._resolution_at_corner = float(resolution_at_corner)
def delResolution_at_corner(self):
self._resolution_at_corner = None
resolution_at_corner = property(
getResolution_at_corner,
setResolution_at_corner,
delResolution_at_corner,
"Property for resolution_at_corner",
)
# Methods and properties for the 'x_beam' attribute
def getX_beam(self):
return self._x_beam
def setX_beam(self, x_beam):
if x_beam is None:
self._x_beam = None
else:
self._x_beam = float(x_beam)
def delX_beam(self):
self._x_beam = None
x_beam = property(getX_beam, setX_beam, delX_beam, "Property for x_beam")
# Methods and properties for the 'y_beam' attribute
def getY_beam(self):
return self._y_beam
def setY_beam(self, y_beam):
if y_beam is None:
self._y_beam = None
else:
self._y_beam = float(y_beam)
def delY_beam(self):
self._y_beam = None
y_beam = property(getY_beam, setY_beam, delY_beam, "Property for y_beam")
# Methods and properties for the 'beam_size_x' attribute
def getBeam_size_x(self):
return self._beam_size_x
def setBeam_size_x(self, beam_size_x):
if beam_size_x is None:
self._beam_size_x = None
else:
self._beam_size_x = float(beam_size_x)
def delBeam_size_x(self):
self._beam_size_x = None
beam_size_x = property(
getBeam_size_x, setBeam_size_x, delBeam_size_x, "Property for beam_size_x"
)
# Methods and properties for the 'beam_size_y' attribute
def getBeam_size_y(self):
return self._beam_size_y
def setBeam_size_y(self, beam_size_y):
if beam_size_y is None:
self._beam_size_y = None
else:
self._beam_size_y = float(beam_size_y)
def delBeam_size_y(self):
self._beam_size_y = None
beam_size_y = property(
getBeam_size_y, setBeam_size_y, delBeam_size_y, "Property for beam_size_y"
)
# Methods and properties for the 'mad_1_energy' attribute
def getMad_1_energy(self):
return self._mad_1_energy
def setMad_1_energy(self, mad_1_energy):
if mad_1_energy is None:
self._mad_1_energy = None
else:
self._mad_1_energy = float(mad_1_energy)
def delMad_1_energy(self):
self._mad_1_energy = None
mad_1_energy = property(
getMad_1_energy, setMad_1_energy, delMad_1_energy, "Property for mad_1_energy"
)
# Methods and properties for the 'mad_2_energy' attribute
def getMad_2_energy(self):
return self._mad_2_energy
def setMad_2_energy(self, mad_2_energy):
if mad_2_energy is None:
self._mad_2_energy = None
else:
self._mad_2_energy = float(mad_2_energy)
def delMad_2_energy(self):
self._mad_2_energy = None
mad_2_energy = property(
getMad_2_energy, setMad_2_energy, delMad_2_energy, "Property for mad_2_energy"
)
# Methods and properties for the 'mad_3_energy' attribute
def getMad_3_energy(self):
return self._mad_3_energy
def setMad_3_energy(self, mad_3_energy):
if mad_3_energy is None:
self._mad_3_energy = None
else:
self._mad_3_energy = float(mad_3_energy)
def delMad_3_energy(self):
self._mad_3_energy = None
mad_3_energy = property(
getMad_3_energy, setMad_3_energy, delMad_3_energy, "Property for mad_3_energy"
)
# Methods and properties for the 'mad_4_energy' attribute
def getMad_4_energy(self):
return self._mad_4_energy
def setMad_4_energy(self, mad_4_energy):
if mad_4_energy is None:
self._mad_4_energy = None
else:
self._mad_4_energy = float(mad_4_energy)
def delMad_4_energy(self):
self._mad_4_energy = None
mad_4_energy = property(
getMad_4_energy, setMad_4_energy, delMad_4_energy, "Property for mad_4_energy"
)
# Methods and properties for the 'prefix' attribute
def getPrefix(self):
return self._prefix
def setPrefix(self, prefix):
self._prefix = str(prefix)
def delPrefix(self):
self._prefix = None
prefix = property(getPrefix, setPrefix, delPrefix, "Property for prefix")
# Methods and properties for the 'overlap' attribute
def getOverlap(self):
return self._overlap
def setOverlap(self, overlap):
if overlap is None:
self._overlap = None
else:
self._overlap = float(overlap)
def delOverlap(self):
self._overlap = None
overlap = property(getOverlap, setOverlap, delOverlap, "Property for overlap")
# Methods and properties for the 'osc_start' attribute
def getOsc_start(self):
return self._osc_start
def setOsc_start(self, osc_start):
if osc_start is None:
self._osc_start = None
else:
self._osc_start = float(osc_start)
def delOsc_start(self):
self._osc_start = None
osc_start = property(
getOsc_start, setOsc_start, delOsc_start, "Property for osc_start"
)
# Methods and properties for the 'process_directory' attribute
def getProcess_directory(self):
return self._process_directory
def setProcess_directory(self, process_directory):
self._process_directory = str(process_directory)
def delProcess_directory(self):
self._process_directory = None
process_directory = property(
getProcess_directory,
setProcess_directory,
delProcess_directory,
"Property for process_directory",
)
# Methods and properties for the 'sum_images' attribute
def getSum_images(self):
return self._sum_images
def setSum_images(self, sum_images):
if sum_images is None:
self._sum_images = None
else:
self._sum_images = float(sum_images)
def delSum_images(self):
self._sum_images = None
sum_images = property(
getSum_images, setSum_images, delSum_images, "Property for sum_images"
)
# Methods and properties for the 'detector_mode' attribute
def getDetector_mode(self):
return self._detector_mode
def setDetector_mode(self, detector_mode):
self._detector_mode = str(detector_mode)
def delDetector_mode(self):
self._detector_mode = None
detector_mode = property(
getDetector_mode,
setDetector_mode,
delDetector_mode,
"Property for detector_mode",
)
# Methods and properties for the 'mad_energies' attribute
def getMad_energies(self):
return self._mad_energies
def setMad_energies(self, mad_energies):
self._mad_energies = str(mad_energies)
def delMad_energies(self):
self._mad_energies = None
mad_energies = property(
getMad_energies, setMad_energies, delMad_energies, "Property for mad_energies"
)
# Methods and properties for the 'comments' attribute
def getComments(self):
return self._comments
def setComments(self, comments):
self._comments = str(comments)
def delComments(self):
self._comments = None
comments = property(getComments, setComments, delComments, "Property for comments")
# Methods and properties for the 'osc_range' attribute
def getOsc_range(self):
return self._osc_range
def setOsc_range(self, osc_range):
if osc_range is None:
self._osc_range = None
else:
self._osc_range = float(osc_range)
def delOsc_range(self):
self._osc_range = None
osc_range = property(
getOsc_range, setOsc_range, delOsc_range, "Property for osc_range"
)
# Methods and properties for the 'first_image' attribute
def getFirst_image(self):
return self._first_image
def setFirst_image(self, first_image):
if first_image is None:
self._first_image = None
else:
self._first_image = int(first_image)
def delFirst_image(self):
self._first_image = None
first_image = property(
getFirst_image, setFirst_image, delFirst_image, "Property for first_image"
)
# Methods and properties for the 'template' attribute
def getTemplate(self):
return self._template
def setTemplate(self, template):
self._template = str(template)
def delTemplate(self):
self._template = None
template = property(getTemplate, setTemplate, delTemplate, "Property for template")
# Methods and properties for the 'kappaStart' attribute
def getKappaStart(self):
return self._kappaStart
def setKappaStart(self, kappaStart):
if kappaStart is None:
self._kappaStart = None
else:
self._kappaStart = float(kappaStart)
def delKappaStart(self):
self._kappaStart = None
kappaStart = property(
getKappaStart, setKappaStart, delKappaStart, "Property for kappaStart"
)
# Methods and properties for the 'processing' attribute
def getProcessing(self):
return self._processing
def setProcessing(self, processing):
self._processing = bool(processing)
def delProcessing(self):
self._processing = None
processing = property(
getProcessing, setProcessing, delProcessing, "Property for processing"
)
# Methods and properties for the 'inverse_beam' attribute
def getInverse_beam(self):
return self._inverse_beam
def setInverse_beam(self, inverse_beam):
if inverse_beam is None:
self._inverse_beam = None
else:
self._inverse_beam = float(inverse_beam)
def delInverse_beam(self):
self._inverse_beam = None
inverse_beam = property(
getInverse_beam, setInverse_beam, delInverse_beam, "Property for inverse_beam"
)
# Methods and properties for the 'number_images' attribute
def getNumber_images(self):
return self._number_images
def setNumber_images(self, number_images):
if number_images is None:
self._number_images = None
else:
self._number_images = int(number_images)
def delNumber_images(self):
self._number_images = None
number_images = property(
getNumber_images,
setNumber_images,
delNumber_images,
"Property for number_images",
)
# Methods and properties for the 'current_detdistance' attribute
def getCurrent_detdistance(self):
return self._current_detdistance
def setCurrent_detdistance(self, current_detdistance):
if current_detdistance is None:
self._current_detdistance = None
else:
self._current_detdistance = float(current_detdistance)
def delCurrent_detdistance(self):
self._current_detdistance = None
current_detdistance = property(
getCurrent_detdistance,
setCurrent_detdistance,
delCurrent_detdistance,
"Property for current_detdistance",
)
# Methods and properties for the 'residues' attribute
def getResidues(self):
return self._residues
def setResidues(self, residues):
self._residues = str(residues)
def delResidues(self):
self._residues = None
residues = property(getResidues, setResidues, delResidues, "Property for residues")
# Methods and properties for the 'run_number' attribute
def getRun_number(self):
return self._run_number
def setRun_number(self, run_number):
if run_number is None:
self._run_number = None
else:
self._run_number = int(run_number)
def delRun_number(self):
self._run_number = None
run_number = property(
getRun_number, setRun_number, delRun_number, "Property for run_number"
)
# Methods and properties for the 'current_wavelength' attribute
def getCurrent_wavelength(self):
return self._current_wavelength
def setCurrent_wavelength(self, current_wavelength):
if current_wavelength is None:
self._current_wavelength = None
else:
self._current_wavelength = float(current_wavelength)
def delCurrent_wavelength(self):
self._current_wavelength = None
current_wavelength = property(
getCurrent_wavelength,
setCurrent_wavelength,
delCurrent_wavelength,
"Property for current_wavelength",
)
# Methods and properties for the 'phiStart' attribute
def getPhiStart(self):
return self._phiStart
def setPhiStart(self, phiStart):
if phiStart is None:
self._phiStart = None
else:
self._phiStart = float(phiStart)
def delPhiStart(self):
self._phiStart = None
phiStart = property(getPhiStart, setPhiStart, delPhiStart, "Property for phiStart")
# Methods and properties for the 'anomalous' attribute
def getAnomalous(self):
return self._anomalous
def setAnomalous(self, anomalous):
self._anomalous = bool(anomalous)
def delAnomalous(self):
self._anomalous = None
anomalous = property(
getAnomalous, setAnomalous, delAnomalous, "Property for anomalous"
)
# Methods and properties for the 'number_passes' attribute
def getNumber_passes(self):
return self._number_passes
def setNumber_passes(self, number_passes):
if number_passes is None:
self._number_passes = None
else:
self._number_passes = int(number_passes)
def delNumber_passes(self):
self._number_passes = None
number_passes = property(
getNumber_passes,
setNumber_passes,
delNumber_passes,
"Property for number_passes",
)
# Methods and properties for the 'directory' attribute
def getDirectory(self):
return self._directory
def setDirectory(self, directory):
self._directory = str(directory)
def delDirectory(self):
self._directory = None
directory = property(
getDirectory, setDirectory, delDirectory, "Property for directory"
)
# Methods and properties for the 'current_energy' attribute
def getCurrent_energy(self):
return self._current_energy
def setCurrent_energy(self, current_energy):
if current_energy is None:
self._current_energy = None
else:
self._current_energy = float(current_energy)
def delCurrent_energy(self):
self._current_energy = None
current_energy = property(
getCurrent_energy,
setCurrent_energy,
delCurrent_energy,
"Property for current_energy",
)
# Methods and properties for the 'current_osc_start' attribute
def getCurrent_osc_start(self):
return self._current_osc_start
def setCurrent_osc_start(self, current_osc_start):
if current_osc_start is None:
self._current_osc_start = None
else:
self._current_osc_start = float(current_osc_start)
def delCurrent_osc_start(self):
self._current_osc_start = None
current_osc_start = property(
getCurrent_osc_start,
setCurrent_osc_start,
delCurrent_osc_start,
"Property for current_osc_start",
)
# Methods and properties for the 'output_file' attribute
def getOutput_file(self):
return self._output_file
def setOutput_file(self, output_file):
self._output_file = str(output_file)
def delOutput_file(self):
self._output_file = None
output_file = property(
getOutput_file, setOutput_file, delOutput_file, "Property for output_file"
)
# Methods and properties for the 'transmission' attribute
def getTransmission(self):
return self._transmission
def setTransmission(self, transmission):
if transmission is None:
self._transmission = None
else:
self._transmission = float(transmission)
def delTransmission(self):
self._transmission = None
transmission = property(
getTransmission, setTransmission, delTransmission, "Property for transmission"
)
def export(self, outfile, level, name_="XSDataMXCuBEParameters"):
showIndent(outfile, level)
outfile.write(unicode("<%s>\n" % name_))
self.exportChildren(outfile, level + 1, name_)
showIndent(outfile, level)
outfile.write(unicode("</%s>\n" % name_))
def exportChildren(self, outfile, level, name_="XSDataMXCuBEParameters"):
XSData.exportChildren(self, outfile, level, name_)
if self._sessionId is not None:
showIndent(outfile, level)
outfile.write(unicode("<sessionId>%d</sessionId>\n" % self._sessionId))
else:
warnEmptyAttribute("sessionId", "integer")
if self._blSampleId is not None:
showIndent(outfile, level)
outfile.write(unicode("<blSampleId>%d</blSampleId>\n" % self._blSampleId))
else:
warnEmptyAttribute("blSampleId", "integer")
if self._exposure_time is not None:
showIndent(outfile, level)
outfile.write(
unicode("<exposure_time>%e</exposure_time>\n" % self._exposure_time)
)
else:
warnEmptyAttribute("exposure_time", "float")
if self._resolution is not None:
showIndent(outfile, level)
outfile.write(unicode("<resolution>%e</resolution>\n" % self._resolution))
else:
warnEmptyAttribute("resolution", "float")
if self._resolution_at_corner is not None:
showIndent(outfile, level)
outfile.write(
unicode(
"<resolution_at_corner>%e</resolution_at_corner>\n"
% self._resolution_at_corner
)
)
else:
warnEmptyAttribute("resolution_at_corner", "float")
if self._x_beam is not None:
showIndent(outfile, level)
outfile.write(unicode("<x_beam>%e</x_beam>\n" % self._x_beam))
else:
warnEmptyAttribute("x_beam", "float")
if self._y_beam is not None:
showIndent(outfile, level)
outfile.write(unicode("<y_beam>%e</y_beam>\n" % self._y_beam))
else:
warnEmptyAttribute("y_beam", "float")
if self._beam_size_x is not None:
showIndent(outfile, level)
outfile.write(
unicode("<beam_size_x>%e</beam_size_x>\n" % self._beam_size_x)
)
else:
warnEmptyAttribute("beam_size_x", "float")
if self._beam_size_y is not None:
showIndent(outfile, level)
outfile.write(
unicode("<beam_size_y>%e</beam_size_y>\n" % self._beam_size_y)
)
else:
warnEmptyAttribute("beam_size_y", "float")
if self._mad_1_energy is not None:
showIndent(outfile, level)
outfile.write(
unicode("<mad_1_energy>%e</mad_1_energy>\n" % self._mad_1_energy)
)
else:
warnEmptyAttribute("mad_1_energy", "float")
if self._mad_2_energy is not None:
showIndent(outfile, level)
outfile.write(
unicode("<mad_2_energy>%e</mad_2_energy>\n" % self._mad_2_energy)
)
else:
warnEmptyAttribute("mad_2_energy", "float")
if self._mad_3_energy is not None:
showIndent(outfile, level)
outfile.write(
unicode("<mad_3_energy>%e</mad_3_energy>\n" % self._mad_3_energy)
)
else:
warnEmptyAttribute("mad_3_energy", "float")
if self._mad_4_energy is not None:
showIndent(outfile, level)
outfile.write(
unicode("<mad_4_energy>%e</mad_4_energy>\n" % self._mad_4_energy)
)
else:
warnEmptyAttribute("mad_4_energy", "float")
if self._prefix is not None:
showIndent(outfile, level)
outfile.write(unicode("<prefix>%s</prefix>\n" % self._prefix))
else:
warnEmptyAttribute("prefix", "string")
if self._overlap is not None:
showIndent(outfile, level)
outfile.write(unicode("<overlap>%e</overlap>\n" % self._overlap))
else:
warnEmptyAttribute("overlap", "float")
if self._osc_start is not None:
showIndent(outfile, level)
outfile.write(unicode("<osc_start>%e</osc_start>\n" % self._osc_start))
else:
warnEmptyAttribute("osc_start", "float")
if self._process_directory is not None:
showIndent(outfile, level)
outfile.write(
unicode(
"<process_directory>%s</process_directory>\n"
% self._process_directory
)
)
else:
warnEmptyAttribute("process_directory", "string")
if self._sum_images is not None:
showIndent(outfile, level)
outfile.write(unicode("<sum_images>%e</sum_images>\n" % self._sum_images))
else:
warnEmptyAttribute("sum_images", "float")
if self._detector_mode is not None:
showIndent(outfile, level)
outfile.write(
unicode("<detector_mode>%s</detector_mode>\n" % self._detector_mode)
)
else:
warnEmptyAttribute("detector_mode", "string")
if self._mad_energies is not None:
showIndent(outfile, level)
outfile.write(
unicode("<mad_energies>%s</mad_energies>\n" % self._mad_energies)
)
else:
warnEmptyAttribute("mad_energies", "string")
if self._comments is not None:
showIndent(outfile, level)
outfile.write(unicode("<comments>%s</comments>\n" % self._comments))
else:
warnEmptyAttribute("comments", "string")
if self._osc_range is not None:
showIndent(outfile, level)
outfile.write(unicode("<osc_range>%e</osc_range>\n" % self._osc_range))
else:
warnEmptyAttribute("osc_range", "float")
if self._first_image is not None:
showIndent(outfile, level)
outfile.write(
unicode("<first_image>%d</first_image>\n" % self._first_image)
)
else:
warnEmptyAttribute("first_image", "integer")
if self._template is not None:
showIndent(outfile, level)
outfile.write(unicode("<template>%s</template>\n" % self._template))
else:
warnEmptyAttribute("template", "string")
if self._kappaStart is not None:
showIndent(outfile, level)
outfile.write(unicode("<kappaStart>%e</kappaStart>\n" % self._kappaStart))
else:
warnEmptyAttribute("kappaStart", "float")
if self._processing is not None:
showIndent(outfile, level)
if self._processing:
outfile.write(unicode("<processing>true</processing>\n"))
else:
outfile.write(unicode("<processing>false</processing>\n"))
else:
warnEmptyAttribute("processing", "boolean")
if self._inverse_beam is not None:
showIndent(outfile, level)
outfile.write(
unicode("<inverse_beam>%e</inverse_beam>\n" % self._inverse_beam)
)
else:
warnEmptyAttribute("inverse_beam", "float")
if self._number_images is not None:
showIndent(outfile, level)
outfile.write(
unicode("<number_images>%d</number_images>\n" % self._number_images)
)
else:
warnEmptyAttribute("number_images", "integer")
if self._current_detdistance is not None:
showIndent(outfile, level)
outfile.write(
unicode(
"<current_detdistance>%e</current_detdistance>\n"
% self._current_detdistance
)
)
else:
warnEmptyAttribute("current_detdistance", "float")
if self._residues is not None:
showIndent(outfile, level)
outfile.write(unicode("<residues>%s</residues>\n" % self._residues))
else:
warnEmptyAttribute("residues", "string")
if self._run_number is not None:
showIndent(outfile, level)
outfile.write(unicode("<run_number>%d</run_number>\n" % self._run_number))
else:
warnEmptyAttribute("run_number", "integer")
if self._current_wavelength is not None:
showIndent(outfile, level)
outfile.write(
unicode(
"<current_wavelength>%e</current_wavelength>\n"
% self._current_wavelength
)
)
else:
warnEmptyAttribute("current_wavelength", "float")
if self._phiStart is not None:
showIndent(outfile, level)
outfile.write(unicode("<phiStart>%e</phiStart>\n" % self._phiStart))
else:
warnEmptyAttribute("phiStart", "float")
if self._anomalous is not None:
showIndent(outfile, level)
if self._anomalous:
outfile.write(unicode("<anomalous>true</anomalous>\n"))
else:
outfile.write(unicode("<anomalous>false</anomalous>\n"))
else:
warnEmptyAttribute("anomalous", "boolean")
if self._number_passes is not None:
showIndent(outfile, level)
outfile.write(
unicode("<number_passes>%d</number_passes>\n" % self._number_passes)
)
else:
warnEmptyAttribute("number_passes", "integer")
if self._directory is not None:
showIndent(outfile, level)
outfile.write(unicode("<directory>%s</directory>\n" % self._directory))
else:
warnEmptyAttribute("directory", "string")
if self._current_energy is not None:
showIndent(outfile, level)
outfile.write(
unicode("<current_energy>%e</current_energy>\n" % self._current_energy)
)
else:
warnEmptyAttribute("current_energy", "float")
if self._current_osc_start is not None:
showIndent(outfile, level)
outfile.write(
unicode(
"<current_osc_start>%e</current_osc_start>\n"
% self._current_osc_start
)
)
else:
warnEmptyAttribute("current_osc_start", "float")
if self._output_file is not None:
showIndent(outfile, level)
outfile.write(
unicode("<output_file>%s</output_file>\n" % self._output_file)
)
else:
warnEmptyAttribute("output_file", "string")
if self._transmission is not None:
showIndent(outfile, level)
outfile.write(
unicode("<transmission>%e</transmission>\n" % self._transmission)
)
else:
warnEmptyAttribute("transmission", "float")
def build(self, node_):
for child_ in node_.childNodes:
nodeName_ = child_.nodeName.split(":")[-1]
self.buildChildren(child_, nodeName_)
def buildChildren(self, child_, nodeName_):
if child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "sessionId":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
ival_ = int(sval_)
except ValueError:
raise ValueError("requires integer -- %s" % child_.toxml())
self._sessionId = ival_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "blSampleId":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
ival_ = int(sval_)
except ValueError:
raise ValueError("requires integer -- %s" % child_.toxml())
self._blSampleId = ival_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "exposure_time":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._exposure_time = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "resolution":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._resolution = fval_
elif (
child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "resolution_at_corner"
):
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._resolution_at_corner = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "x_beam":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._x_beam = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "y_beam":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._y_beam = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "beam_size_x":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._beam_size_x = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "beam_size_y":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._beam_size_y = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "mad_1_energy":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._mad_1_energy = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "mad_2_energy":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._mad_2_energy = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "mad_3_energy":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._mad_3_energy = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "mad_4_energy":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._mad_4_energy = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "prefix":
value_ = ""
for text__content_ in child_.childNodes:
if text__content_.nodeValue is not None:
value_ += text__content_.nodeValue
self._prefix = value_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "overlap":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._overlap = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "osc_start":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._osc_start = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "process_directory":
value_ = ""
for text__content_ in child_.childNodes:
if text__content_.nodeValue is not None:
value_ += text__content_.nodeValue
self._process_directory = value_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "sum_images":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._sum_images = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "detector_mode":
value_ = ""
for text__content_ in child_.childNodes:
if text__content_.nodeValue is not None:
value_ += text__content_.nodeValue
self._detector_mode = value_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "mad_energies":
value_ = ""
for text__content_ in child_.childNodes:
if text__content_.nodeValue is not None:
value_ += text__content_.nodeValue
self._mad_energies = value_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "comments":
value_ = ""
for text__content_ in child_.childNodes:
if text__content_.nodeValue is not None:
value_ += text__content_.nodeValue
self._comments = value_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "osc_range":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._osc_range = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "first_image":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
ival_ = int(sval_)
except ValueError:
raise ValueError("requires integer -- %s" % child_.toxml())
self._first_image = ival_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "template":
value_ = ""
for text__content_ in child_.childNodes:
if text__content_.nodeValue is not None:
value_ += text__content_.nodeValue
self._template = value_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "kappaStart":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._kappaStart = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "processing":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
if sval_ in ("True", "true", "1"):
ival_ = True
elif sval_ in ("False", "false", "0"):
ival_ = False
else:
raise ValueError("requires boolean -- %s" % child_.toxml())
self._processing = ival_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "inverse_beam":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._inverse_beam = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "number_images":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
ival_ = int(sval_)
except ValueError:
raise ValueError("requires integer -- %s" % child_.toxml())
self._number_images = ival_
elif (
child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "current_detdistance"
):
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._current_detdistance = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "residues":
value_ = ""
for text__content_ in child_.childNodes:
if text__content_.nodeValue is not None:
value_ += text__content_.nodeValue
self._residues = value_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "run_number":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
ival_ = int(sval_)
except ValueError:
raise ValueError("requires integer -- %s" % child_.toxml())
self._run_number = ival_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "current_wavelength":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._current_wavelength = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "phiStart":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._phiStart = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "anomalous":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
if sval_ in ("True", "true", "1"):
ival_ = True
elif sval_ in ("False", "false", "0"):
ival_ = False
else:
raise ValueError("requires boolean -- %s" % child_.toxml())
self._anomalous = ival_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "number_passes":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
ival_ = int(sval_)
except ValueError:
raise ValueError("requires integer -- %s" % child_.toxml())
self._number_passes = ival_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "directory":
value_ = ""
for text__content_ in child_.childNodes:
if text__content_.nodeValue is not None:
value_ += text__content_.nodeValue
self._directory = value_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "current_energy":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._current_energy = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "current_osc_start":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._current_osc_start = fval_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "output_file":
value_ = ""
for text__content_ in child_.childNodes:
if text__content_.nodeValue is not None:
value_ += text__content_.nodeValue
self._output_file = value_
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "transmission":
if child_.firstChild:
sval_ = child_.firstChild.nodeValue
try:
fval_ = float(sval_)
except ValueError:
raise ValueError(
"requires float (or double) -- %s" % child_.toxml()
)
self._transmission = fval_
XSData.buildChildren(self, child_, nodeName_)
# Method for marshalling an object
def marshal(self):
oStreamString = StringIO()
oStreamString.write(unicode('<?xml version="1.0" ?>\n'))
self.export(oStreamString, 0, name_="XSDataMXCuBEParameters")
oStringXML = oStreamString.getvalue()
oStreamString.close()
return oStringXML
# Only to export the entire XML tree to a file stream on disk
def exportToFile(self, _outfileName):
outfile = open(_outfileName, "w")
outfile.write(unicode('<?xml version="1.0" ?>\n'))
self.export(outfile, 0, name_="XSDataMXCuBEParameters")
outfile.close()
# Deprecated method, replaced by exportToFile
def outputFile(self, _outfileName):
print(
"WARNING: Method outputFile in class XSDataMXCuBEParameters is deprecated, please use instead exportToFile!"
)
self.exportToFile(_outfileName)
# Method for making a copy in a new instance
def copy(self):
return XSDataMXCuBEParameters.parseString(self.marshal())
# Static method for parsing a string
def parseString(_inString):
doc = minidom.parseString(_inString)
rootNode = doc.documentElement
rootObj = XSDataMXCuBEParameters()
rootObj.build(rootNode)
# Check that all minOccurs are obeyed by marshalling the created object
oStreamString = StringIO()
rootObj.export(oStreamString, 0, name_="XSDataMXCuBEParameters")
oStreamString.close()
return rootObj
parseString = staticmethod(parseString)
# Static method for parsing a file
def parseFile(_inFilePath):
doc = minidom.parse(_inFilePath)
rootNode = doc.documentElement
rootObj = XSDataMXCuBEParameters()
rootObj.build(rootNode)
return rootObj
parseFile = staticmethod(parseFile)
# end class XSDataMXCuBEParameters
# end class XSDataInputMXCuBE
[docs]class XSDataResultMXCuBE(XSDataResult):
def __init__(
self,
status=None,
screeningId=None,
htmlPage=None,
outputFileDictionary=None,
listOfOutputFiles=None,
collectionPlan=None,
characterisationResult=None,
characterisationExecutiveSummary=None,
):
XSDataResult.__init__(self, status)
if characterisationExecutiveSummary is None:
self._characterisationExecutiveSummary = None
elif characterisationExecutiveSummary.__class__.__name__ == "XSDataString":
self._characterisationExecutiveSummary = characterisationExecutiveSummary
else:
strMessage = (
"ERROR! XSDataResultMXCuBE constructor argument 'characterisationExecutiveSummary' is not XSDataString but %s"
% self._characterisationExecutiveSummary.__class__.__name__
)
raise BaseException(strMessage)
if characterisationResult is None:
self._characterisationResult = None
elif (
characterisationResult.__class__.__name__ == "XSDataResultCharacterisation"
):
self._characterisationResult = characterisationResult
else:
strMessage = (
"ERROR! XSDataResultMXCuBE constructor argument 'characterisationResult' is not XSDataResultCharacterisation but %s"
% self._characterisationResult.__class__.__name__
)
raise BaseException(strMessage)
if collectionPlan is None:
self._collectionPlan = []
elif collectionPlan.__class__.__name__ == "list":
self._collectionPlan = collectionPlan
else:
strMessage = (
"ERROR! XSDataResultMXCuBE constructor argument 'collectionPlan' is not list but %s"
% self._collectionPlan.__class__.__name__
)
raise BaseException(strMessage)
if listOfOutputFiles is None:
self._listOfOutputFiles = None
elif listOfOutputFiles.__class__.__name__ == "XSDataString":
self._listOfOutputFiles = listOfOutputFiles
else:
strMessage = (
"ERROR! XSDataResultMXCuBE constructor argument 'listOfOutputFiles' is not XSDataString but %s"
% self._listOfOutputFiles.__class__.__name__
)
raise BaseException(strMessage)
if outputFileDictionary is None:
self._outputFileDictionary = None
elif outputFileDictionary.__class__.__name__ == "XSDataDictionary":
self._outputFileDictionary = outputFileDictionary
else:
strMessage = (
"ERROR! XSDataResultMXCuBE constructor argument 'outputFileDictionary' is not XSDataDictionary but %s"
% self._outputFileDictionary.__class__.__name__
)
raise BaseException(strMessage)
if htmlPage is None:
self._htmlPage = None
elif htmlPage.__class__.__name__ == "XSDataFile":
self._htmlPage = htmlPage
else:
strMessage = (
"ERROR! XSDataResultMXCuBE constructor argument 'htmlPage' is not XSDataFile but %s"
% self._htmlPage.__class__.__name__
)
raise BaseException(strMessage)
if screeningId is None:
self._screeningId = None
elif screeningId.__class__.__name__ == "XSDataInteger":
self._screeningId = screeningId
else:
strMessage = (
"ERROR! XSDataResultMXCuBE constructor argument 'screeningId' is not XSDataInteger but %s"
% self._screeningId.__class__.__name__
)
raise BaseException(strMessage)
# Methods and properties for the 'characterisationExecutiveSummary' attribute
def getCharacterisationExecutiveSummary(self):
return self._characterisationExecutiveSummary
def setCharacterisationExecutiveSummary(self, characterisationExecutiveSummary):
if characterisationExecutiveSummary is None:
self._characterisationExecutiveSummary = None
elif characterisationExecutiveSummary.__class__.__name__ == "XSDataString":
self._characterisationExecutiveSummary = characterisationExecutiveSummary
else:
strMessage = (
"ERROR! XSDataResultMXCuBE.setCharacterisationExecutiveSummary argument is not XSDataString but %s"
% characterisationExecutiveSummary.__class__.__name__
)
raise BaseException(strMessage)
def delCharacterisationExecutiveSummary(self):
self._characterisationExecutiveSummary = None
characterisationExecutiveSummary = property(
getCharacterisationExecutiveSummary,
setCharacterisationExecutiveSummary,
delCharacterisationExecutiveSummary,
"Property for characterisationExecutiveSummary",
)
# Methods and properties for the 'characterisationResult' attribute
def getCharacterisationResult(self):
return self._characterisationResult
def setCharacterisationResult(self, characterisationResult):
if characterisationResult is None:
self._characterisationResult = None
elif (
characterisationResult.__class__.__name__ == "XSDataResultCharacterisation"
):
self._characterisationResult = characterisationResult
else:
strMessage = (
"ERROR! XSDataResultMXCuBE.setCharacterisationResult argument is not XSDataResultCharacterisation but %s"
% characterisationResult.__class__.__name__
)
raise BaseException(strMessage)
def delCharacterisationResult(self):
self._characterisationResult = None
characterisationResult = property(
getCharacterisationResult,
setCharacterisationResult,
delCharacterisationResult,
"Property for characterisationResult",
)
# Methods and properties for the 'collectionPlan' attribute
def getCollectionPlan(self):
return self._collectionPlan
def setCollectionPlan(self, collectionPlan):
if collectionPlan is None:
self._collectionPlan = []
elif collectionPlan.__class__.__name__ == "list":
self._collectionPlan = collectionPlan
else:
strMessage = (
"ERROR! XSDataResultMXCuBE.setCollectionPlan argument is not list but %s"
% collectionPlan.__class__.__name__
)
raise BaseException(strMessage)
def delCollectionPlan(self):
self._collectionPlan = None
collectionPlan = property(
getCollectionPlan,
setCollectionPlan,
delCollectionPlan,
"Property for collectionPlan",
)
def addCollectionPlan(self, value):
if value is None:
strMessage = "ERROR! XSDataResultMXCuBE.addCollectionPlan argument is None"
raise BaseException(strMessage)
elif value.__class__.__name__ == "XSDataCollectionPlan":
self._collectionPlan.append(value)
else:
strMessage = (
"ERROR! XSDataResultMXCuBE.addCollectionPlan argument is not XSDataCollectionPlan but %s"
% value.__class__.__name__
)
raise BaseException(strMessage)
def insertCollectionPlan(self, index, value):
if index is None:
strMessage = "ERROR! XSDataResultMXCuBE.insertCollectionPlan argument 'index' is None"
raise BaseException(strMessage)
if value is None:
strMessage = "ERROR! XSDataResultMXCuBE.insertCollectionPlan argument 'value' is None"
raise BaseException(strMessage)
elif value.__class__.__name__ == "XSDataCollectionPlan":
self._collectionPlan[index] = value
else:
strMessage = (
"ERROR! XSDataResultMXCuBE.addCollectionPlan argument is not XSDataCollectionPlan but %s"
% value.__class__.__name__
)
raise BaseException(strMessage)
# Methods and properties for the 'listOfOutputFiles' attribute
def getListOfOutputFiles(self):
return self._listOfOutputFiles
def setListOfOutputFiles(self, listOfOutputFiles):
if listOfOutputFiles is None:
self._listOfOutputFiles = None
elif listOfOutputFiles.__class__.__name__ == "XSDataString":
self._listOfOutputFiles = listOfOutputFiles
else:
strMessage = (
"ERROR! XSDataResultMXCuBE.setListOfOutputFiles argument is not XSDataString but %s"
% listOfOutputFiles.__class__.__name__
)
raise BaseException(strMessage)
def delListOfOutputFiles(self):
self._listOfOutputFiles = None
listOfOutputFiles = property(
getListOfOutputFiles,
setListOfOutputFiles,
delListOfOutputFiles,
"Property for listOfOutputFiles",
)
# Methods and properties for the 'outputFileDictionary' attribute
def getOutputFileDictionary(self):
return self._outputFileDictionary
def setOutputFileDictionary(self, outputFileDictionary):
if outputFileDictionary is None:
self._outputFileDictionary = None
elif outputFileDictionary.__class__.__name__ == "XSDataDictionary":
self._outputFileDictionary = outputFileDictionary
else:
strMessage = (
"ERROR! XSDataResultMXCuBE.setOutputFileDictionary argument is not XSDataDictionary but %s"
% outputFileDictionary.__class__.__name__
)
raise BaseException(strMessage)
def delOutputFileDictionary(self):
self._outputFileDictionary = None
outputFileDictionary = property(
getOutputFileDictionary,
setOutputFileDictionary,
delOutputFileDictionary,
"Property for outputFileDictionary",
)
# Methods and properties for the 'htmlPage' attribute
def getHtmlPage(self):
return self._htmlPage
def setHtmlPage(self, htmlPage):
if htmlPage is None:
self._htmlPage = None
elif htmlPage.__class__.__name__ == "XSDataFile":
self._htmlPage = htmlPage
else:
strMessage = (
"ERROR! XSDataResultMXCuBE.setHtmlPage argument is not XSDataFile but %s"
% htmlPage.__class__.__name__
)
raise BaseException(strMessage)
def delHtmlPage(self):
self._htmlPage = None
htmlPage = property(getHtmlPage, setHtmlPage, delHtmlPage, "Property for htmlPage")
# Methods and properties for the 'screeningId' attribute
def getScreeningId(self):
return self._screeningId
def setScreeningId(self, screeningId):
if screeningId is None:
self._screeningId = None
elif screeningId.__class__.__name__ == "XSDataInteger":
self._screeningId = screeningId
else:
strMessage = (
"ERROR! XSDataResultMXCuBE.setScreeningId argument is not XSDataInteger but %s"
% screeningId.__class__.__name__
)
raise BaseException(strMessage)
def delScreeningId(self):
self._screeningId = None
screeningId = property(
getScreeningId, setScreeningId, delScreeningId, "Property for screeningId"
)
def export(self, outfile, level, name_="XSDataResultMXCuBE"):
showIndent(outfile, level)
outfile.write(unicode("<%s>\n" % name_))
self.exportChildren(outfile, level + 1, name_)
showIndent(outfile, level)
outfile.write(unicode("</%s>\n" % name_))
def exportChildren(self, outfile, level, name_="XSDataResultMXCuBE"):
XSDataResult.exportChildren(self, outfile, level, name_)
if self._characterisationExecutiveSummary is not None:
self.characterisationExecutiveSummary.export(
outfile, level, name_="characterisationExecutiveSummary"
)
if self._characterisationResult is not None:
self.characterisationResult.export(
outfile, level, name_="characterisationResult"
)
for collectionPlan_ in self.getCollectionPlan():
collectionPlan_.export(outfile, level, name_="collectionPlan")
if self._listOfOutputFiles is not None:
self.listOfOutputFiles.export(outfile, level, name_="listOfOutputFiles")
if self._outputFileDictionary is not None:
self.outputFileDictionary.export(
outfile, level, name_="outputFileDictionary"
)
if self._htmlPage is not None:
self.htmlPage.export(outfile, level, name_="htmlPage")
if self._screeningId is not None:
self.screeningId.export(outfile, level, name_="screeningId")
def build(self, node_):
for child_ in node_.childNodes:
nodeName_ = child_.nodeName.split(":")[-1]
self.buildChildren(child_, nodeName_)
def buildChildren(self, child_, nodeName_):
if (
child_.nodeType == Node.ELEMENT_NODE
and nodeName_ == "characterisationExecutiveSummary"
):
obj_ = XSDataString()
obj_.build(child_)
self.setCharacterisationExecutiveSummary(obj_)
elif (
child_.nodeType == Node.ELEMENT_NODE
and nodeName_ == "characterisationResult"
):
obj_ = XSDataResultCharacterisation()
obj_.build(child_)
self.setCharacterisationResult(obj_)
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "collectionPlan":
obj_ = XSDataCollectionPlan()
obj_.build(child_)
self.collectionPlan.append(obj_)
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "listOfOutputFiles":
obj_ = XSDataString()
obj_.build(child_)
self.setListOfOutputFiles(obj_)
elif (
child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "outputFileDictionary"
):
obj_ = XSDataDictionary()
obj_.build(child_)
self.setOutputFileDictionary(obj_)
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "htmlPage":
obj_ = XSDataFile()
obj_.build(child_)
self.setHtmlPage(obj_)
elif child_.nodeType == Node.ELEMENT_NODE and nodeName_ == "screeningId":
obj_ = XSDataInteger()
obj_.build(child_)
self.setScreeningId(obj_)
XSDataResult.buildChildren(self, child_, nodeName_)
# Method for marshalling an object
def marshal(self):
oStreamString = StringIO()
oStreamString.write(unicode('<?xml version="1.0" ?>\n'))
self.export(oStreamString, 0, name_="XSDataResultMXCuBE")
oStringXML = oStreamString.getvalue()
oStreamString.close()
return oStringXML
# Only to export the entire XML tree to a file stream on disk
def exportToFile(self, _outfileName):
outfile = open(_outfileName, "w")
outfile.write(unicode('<?xml version="1.0" ?>\n'))
self.export(outfile, 0, name_="XSDataResultMXCuBE")
outfile.close()
# Deprecated method, replaced by exportToFile
def outputFile(self, _outfileName):
print(
"WARNING: Method outputFile in class XSDataResultMXCuBE is deprecated, please use instead exportToFile!"
)
self.exportToFile(_outfileName)
# Method for making a copy in a new instance
def copy(self):
return XSDataResultMXCuBE.parseString(self.marshal())
# Static method for parsing a string
def parseString(_inString):
doc = minidom.parseString(_inString)
rootNode = doc.documentElement
rootObj = XSDataResultMXCuBE()
rootObj.build(rootNode)
# Check that all minOccurs are obeyed by marshalling the created object
oStreamString = StringIO()
rootObj.export(oStreamString, 0, name_="XSDataResultMXCuBE")
oStreamString.close()
return rootObj
parseString = staticmethod(parseString)
# Static method for parsing a file
def parseFile(_inFilePath):
doc = minidom.parse(_inFilePath)
rootNode = doc.documentElement
rootObj = XSDataResultMXCuBE()
rootObj.build(rootNode)
return rootObj
parseFile = staticmethod(parseFile)
# end class XSDataResultMXCuBE
# End of data representation classes.