sobjects/cwxmlparser.py
changeset 8748 f5027f8d2478
parent 8409 79534887943e
child 8900 010a59e12d89
equal deleted inserted replaced
8747:c0d4244e5abc 8748:f5027f8d2478
    40 from logilab.common.decorators import classproperty
    40 from logilab.common.decorators import classproperty
    41 
    41 
    42 from yams.constraints import BASE_CONVERTERS
    42 from yams.constraints import BASE_CONVERTERS
    43 from yams.schema import role_name as rn
    43 from yams.schema import role_name as rn
    44 
    44 
    45 from cubicweb import ValidationError, RegistryException, typed_eid
    45 from cubicweb import ValidationError, RegistryException
    46 from cubicweb.view import Component
    46 from cubicweb.view import Component
    47 from cubicweb.server.sources import datafeed
    47 from cubicweb.server.sources import datafeed
    48 from cubicweb.server.hook import match_rtype
    48 from cubicweb.server.hook import match_rtype
    49 
    49 
    50 # XXX see cubicweb.cwvreg.YAMS_TO_PY
    50 # XXX see cubicweb.cwvreg.YAMS_TO_PY
   324         node = self.node
   324         node = self.node
   325         item = dict(node.attrib.items())
   325         item = dict(node.attrib.items())
   326         item['cwtype'] = unicode(node.tag)
   326         item['cwtype'] = unicode(node.tag)
   327         item.setdefault('cwsource', None)
   327         item.setdefault('cwsource', None)
   328         try:
   328         try:
   329             item['eid'] = typed_eid(item['eid'])
   329             item['eid'] = int(item['eid'])
   330         except KeyError:
   330         except KeyError:
   331             # cw < 3.11 compat mode XXX
   331             # cw < 3.11 compat mode XXX
   332             item['eid'] = typed_eid(node.find('eid').text)
   332             item['eid'] = int(node.find('eid').text)
   333             item['cwuri'] = node.find('cwuri').text
   333             item['cwuri'] = node.find('cwuri').text
   334         rels = {}
   334         rels = {}
   335         for child in node:
   335         for child in node:
   336             role = child.get('role')
   336             role = child.get('role')
   337             if role:
   337             if role: