Changeset 1643


Ignore:
Timestamp:
27/10/06 14:16:02 (13 years ago)
Author:
domlowe
Message:

moles round trip handles multiple similar elements

Location:
TI02-CSML/trunk/csml2MolesStuff
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/csml2MolesStuff/csml2moles.py

    r1629 r1643  
    207207    molestree=dgMeta.toXML() 
    208208    moles=csml.parser_extra.PrettyPrint(molestree) 
     209     
     210    print '\n \n \n BEFORE PARSING' 
     211    print moles 
    209212    f=open('molesout.xml','w') 
    210213    f.write(moles) 
     
    218221    molestree=dgMeta.toXML() 
    219222    moles=csml.parser_extra.PrettyPrint(molestree) 
     223    print '\n \n \n AFTER PARSING' 
    220224    print moles    
    221225    
  • TI02-CSML/trunk/csml2MolesStuff/molesWriter.py

    r1629 r1643  
    77        for kw in kwargs: 
    88            setattr(self,kw,kwargs[kw]) 
     9             
     10    def _combineattributes(self,attname, newChild): 
     11        print attname 
     12        att = getattr(self,attname) 
     13        if isinstance(att,molesElement): 
     14            setattr(self,attname,[att, newChild]) 
     15        else: #must be a list? 
     16            att.append(newChild) 
     17            setattr(self, attname,att) 
     18             
     19     
    920    def toXML(self,molesFrag): 
    1021        for attr in self.__dict__: 
     
    3142        print molesFrag.tag 
    3243        children = molesFrag.getchildren() 
     44        print '      has %s'%children 
    3345        if children ==[]: 
    34             print 'no children' 
     46            #this shouldn't occur as a molesElement always has children 
     47            #print 'no children' 
     48            pass 
    3549        if children!=[]: 
    36             print 'has children' 
     50            #print 'has children' 
    3751            for child in children: 
    3852                print child 
     
    4256                    newChild.fromXML(child) 
    4357                    kw=child.tag 
    44                     setattr(self,child.tag, newChild) 
    45                  
    46              
    47  
     58                    if hasattr(self, child.tag): 
     59                        self._combineattributes(child.tag, newChild) 
     60                    else: 
     61                        setattr(self,child.tag, newChild) 
     62                else: 
     63                    setattr(self,child.tag, child.text) 
     64                     
    4865class dgMetadata(molesElement):     
    4966    def __init__(self, **kwargs): 
Note: See TracChangeset for help on using the changeset viewer.