def deserializexml(self, xmlelement): self.backgroundColor = NSColor(xmlelement.get('backgroundColor')) self.highlightColor = NSColor(xmlelement.get('highlightColor')) self.drawingBackgroundColor = xmlelement.get('drawingBackgroundColor').lower() == 'true' self.enabled = xmlelement.get('enabled').lower() == 'true' self.hotKey = xmlelement.get('hotKey') self.label = xmlelement.get('label') self.UUID = xmlelement.get('UUID') self.chordChartPath = xmlelement.get('chordChartPath') self.notes = xmlelement.get('notes') self.socialItemCount = xmlelement.get('socialItemCount') # Deserialize child objects xml_cues = xmlelement.find("./*[@rvXMLIvarName='cues']") if xml_cues is not None: for xml_cue in xml_cues: # Create the actual slide objects. self.cues.append(util.createobject(xml_cue)) xml_cue = xmlelement.find("RVMediaCue") if xml_cue is not None: self.mediacue = RVMediaCue(xml_cue) xml_displayelements = xmlelement.find("./*[@rvXMLIvarName='displayElements']") if xml_displayelements is not None: for xml_dispelem in xml_displayelements: self.displayElements.append(util.createobject(xml_dispelem))
class RVDisplaySlide(RVObject): def __init__(self, xmlelement=None): self.backgroundColor = NSColor() self.highlightColor = NSColor() self.drawingBackgroundColor = False self.enabled = True self.hotKey = "" self.label = "" self.UUID = str(uuid.uuid4()) self.chordChartPath = "" self.notes = "" self.socialItemCount = 1 # Create child objects here. self.cues = [] self.mediacue = None self.displayElements = [] if xmlelement is None: return # Load variables from XML. self.deserializexml(xmlelement) def deserializexml(self, xmlelement): self.backgroundColor = NSColor(xmlelement.get('backgroundColor')) self.highlightColor = NSColor(xmlelement.get('highlightColor')) self.drawingBackgroundColor = xmlelement.get('drawingBackgroundColor').lower() == 'true' self.enabled = xmlelement.get('enabled').lower() == 'true' self.hotKey = xmlelement.get('hotKey') self.label = xmlelement.get('label') self.UUID = xmlelement.get('UUID') self.chordChartPath = xmlelement.get('chordChartPath') self.notes = xmlelement.get('notes') self.socialItemCount = xmlelement.get('socialItemCount') # Deserialize child objects xml_cues = xmlelement.find("./*[@rvXMLIvarName='cues']") if xml_cues is not None: for xml_cue in xml_cues: # Create the actual slide objects. self.cues.append(util.createobject(xml_cue)) xml_cue = xmlelement.find("RVMediaCue") if xml_cue is not None: self.mediacue = RVMediaCue(xml_cue) xml_displayelements = xmlelement.find("./*[@rvXMLIvarName='displayElements']") if xml_displayelements is not None: for xml_dispelem in xml_displayelements: self.displayElements.append(util.createobject(xml_dispelem)) def serializexml(self): xmlelement = xmltree.Element('RVDisplaySlide') xmlelement.set('backgroundColor', str(self.backgroundColor)) xmlelement.set('highlightColor', str(self.highlightColor)) xmlelement.set('drawingBackgroundColor', str(self.drawingBackgroundColor).lower()) xmlelement.set('enabled', str(self.enabled).lower()) xmlelement.set('hotKey', self.hotKey) xmlelement.set('label', self.label) xmlelement.set('UUID', self.UUID) xmlelement.set('chordChartPath', self.chordChartPath) xmlelement.set('notes', self.notes) xmlelement.set('socialItemCount', self.socialItemCount) # Serialize child objects. xml_cue_array = self.createarray('cues') for c_cue in self.cues: xml_cue_array.append(c_cue.serializexml()) xmlelement.append(xml_cue_array) if self.mediacue is not None: xmlelement.append(self.mediacue.serializexml()) xml_elements = self.createarray('displayElements') for c_dispelem in self.displayElements: xml_elements.append(c_dispelem.serializexml()) xmlelement.append(xml_elements) return xmlelement