Changeset 93 for oss/atomixlib

Show
Ignore:
Timestamp:
10/19/06 08:32:44 (4 years ago)
Author:
sylvain
Message:

Fix deserialization bug

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • oss/atomixlib/atomixlib/mapper.py

    r92 r93  
    138138        self.__value = value 
    139139        self.__prefix = u'xml' 
     140 
     141        if parent: 
     142            parent.attributes.append(self) 
    140143         
    141144    def __unicode__(self): 
  • oss/atomixlib/atomixlib/serializer/ax_amara.py

    r92 r93  
    127127                                   target='outOfLine', 
    128128                                   prefix=atom.content.prefix, namespace=atom.content.xmlns) 
    129                  
     129 
     130    ############################################################# 
     131    # Deserialization helpers 
     132    ############################################################# 
     133    def _d_xml_attributes(self, atom, amara_inst): 
     134        for attr in amara_inst.attributes: 
     135            if attr[0] == u'http://www.w3.org/XML/1998/namespace': 
     136                if attr[1] in [u'base', u'id', u'lang']: 
     137                    XMLAttribute(name, unicode(amara_inst.attributes[attr]), parent=atom) 
     138                      
    130139    def _d_id(self, atom, amara_inst): 
    131140        if hasattr(amara_inst, 'id'): 
     
    408417        atom = atomix.doc.feed 
    409418 
     419        self._d_xml_attributes(feed, atom) 
    410420        self._deserialize(feed, atom) 
    411421         
     
    455465        atom = atomix.doc.entry 
    456466 
     467        self._d_xml_attributes(entry, atom) 
    457468        self._deserialize(entry, atom, strict) 
    458469         
     
    515526        atom = atomix.doc.service 
    516527 
     528        self._d_xml_attributes(service, atom) 
    517529        self._deserialize(service, atom, strict) 
    518530         
     
    573585        atom = atomix.doc.workspace 
    574586 
     587        self._d_xml_attributes(workspace, atom) 
    575588        self._deserialize(workspace, atom, strict) 
    576589         
     
    652665                                namespace=atomix.atom_namespace) 
    653666 
     667        self._d_xml_attributes(collection, atom) 
    654668        self._deserialize(collection, atom, strict) 
    655669