def importXml(self, xml, createIfNotExists=1): if not isinstance(xml, str): xml = xml.read() value = standard.parseXmlString(xml) if value is None: value = [] builder = _xmllib.XmlBuilder() nWorkbook = builder.parse(xml) for nWorksheet in _xmllib.xmlNodeSet(nWorkbook, 'Worksheet'): for nTable in _xmllib.xmlNodeSet(nWorksheet, 'Table'): r = 0 keys = [] for nRow in _xmllib.xmlNodeSet(nTable, 'Row'): c = 0 for nCell in _xmllib.xmlNodeSet(nRow, 'Cell'): for nData in _xmllib.xmlNodeSet(nCell, 'Data'): if r == 0: if c == 0: key = 'key' else: key = nData.get('cdata', '') keys.append(key) else: if c == 0: value.append({}) value[-1][keys[c]] = nData.get('cdata', '') c += 1 r += 1 if isinstance(value, list): for item in value: _importXml(self, item, createIfNotExists) else: _importXml(self, value, createIfNotExists)
def importXml(self, xml): v = standard.parseXmlString(xml) if isinstance(v, list): for item in v: id = self._importXml(item) else: id = self._importXml(v)
def importTextformatXml(self, xml, createIfNotExists=1): v = standard.parseXmlString(xml) if isinstance(v, list): for item in v: self._importTextformatXml(item, createIfNotExists) else: self._importTextformatXml(v, createIfNotExists)
def importXml(self, xml, createIfNotExists=True): v = standard.parseXmlString(xml) if isinstance(v, list): for item in v: id = self._importXml(item, createIfNotExists) else: id = self._importXml(v, createIfNotExists)
def parseXmlString(self, file): standard.writeBlock(self, '[parseXmlString]') message = '' REQUEST = self.REQUEST lang = REQUEST.get('lang', self.getPrimaryLanguage()) v = standard.parseXmlString(file) metaObj = self.getMetaobj(self.meta_id) res_id = metaObj['attrs'][0]['id'] res_abs = self.getObjProperty(res_id, REQUEST) res_abs.extend(v) self.setObjStateModified(REQUEST) self.setObjProperty(res_id, res_abs, lang) self.onChangeObj(REQUEST) return message
def importXml(self, xml): ids = [ self.activities[x * 2] for x in range(len(self.activities) // 2) ] for id in ids: self.delItem(id, 'activities') ids = [ self.transitions[x * 2] for x in range(len(self.transitions) // 2) ] for id in ids: self.delItem(id, 'transitions') v = standard.parseXmlString(xml) l = v.get('activities', []) for li in range(len(l) // 2): id = l[li * 2] i = l[li * 2 + 1] self.setActivity(id=None, newId=id, newName=i['name'], newIconClazz=i.get('icon_clazz', ''), newIcon=i.get('icon')) l = v.get('transitions', []) for li in range(len(l) // 2): id = l[li * 2] i = l[li * 2 + 1] newData = i.get('ob', i.get('dtml', '')) newType = i.get('type', ['', 'DTML Method'][int(len(newData) > 0)]) self.setTransition(id=None, newId=id, newName=i['name'], newType=newType, newIconClass=i.get('icon_clazz', ''), newFrom=i.get('from', []), newTo=i.get('to', []), newPerformer=i.get('performer', []), newData=newData) # Create non existant roles. roles = [] for transition in self.getTransitions(): roles = standard.concat_list(roles, transition.get('performer', [])) for newRole in roles: if newRole not in self.userdefined_roles(): _accessmanager.addRole(self, newRole)
def parseXmlString(self, xml): warn(self, 'parseXmlString', 'Products.zms.standard.parseXmlString') return standard.parseXmlString(xml)