Esempio n. 1
0
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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)
Esempio n. 5
0
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
Esempio n. 6
0
 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)
Esempio n. 7
0
 def parseXmlString(self, xml):
     warn(self, 'parseXmlString', 'Products.zms.standard.parseXmlString')
     return standard.parseXmlString(xml)