Changeset 1662


Ignore:
Timestamp:
02/11/06 16:53:23 (13 years ago)
Author:
domlowe
Message:

namespace support in csml2moles (broken)

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

Legend:

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

    r1652 r1662  
    113113    TODO: This should be extended to handle directories of files 
    114114    TODO: CSML files may be stored in exist ''' 
     115    mNS='http://ndg.nerc.ac.uk/moles' 
    115116    repository = sys.argv[1] 
    116117    identifier= sys.argv[2] 
     
    153154                if hasattr(feature, 'description'): 
    154155                    sn.text=feature.description 
    155             VTID=M.dgValidTermID(ParentListID=sn.vocab, TermID=sn.term) 
     156            VTID=M.dgValidTermID(mNS,ParentListID=sn.vocab, TermID=sn.term) 
    156157             
    157             SPM=M.dgStdParameterMeasured(dgValidTerm= sn.text, dgValidTermID=VTID) 
    158             RDP=M.dgRangeDataParameter(HighValue='', LowValue='') 
    159             PS  = M.dgParameterSummary(dgRangeDataParameter=RDP, dgStdParameterMeasured=SPM) 
     158            SPM=M.dgStdParameterMeasured(mNS,dgValidTerm= sn.text, dgValidTermID=VTID) 
     159            RDP=M.dgRangeDataParameter(mNS,HighValue='', LowValue='') 
     160            PS  = M.dgParameterSummary(mNS,dgRangeDataParameter=RDP, dgStdParameterMeasured=SPM) 
    160161            parameterSummaries.append(PS) 
    161162    #get aggregated envelope: 
     
    174175     
    175176    #MetaData ID  
    176     dgMID=M.dgMetadataID(schemeIdentifier='NDG-B0', repositoryIdentifier=repository, localIdentifier=identifier) 
     177    dgMID=M.dgMetadataID(mNS,schemeIdentifier='NDG-B0', repositoryIdentifier=repository, localIdentifier=identifier) 
    177178     
    178179    #create data granules 
    179180    datagranules=[] 
    180181    for i, file in enumerate(csmlfilelist): 
    181         DMid=M.dataModelID(schemeIdentifier=schemeIdentifiers[i], repositoryIdentifier=repositoryIdentifiers[i],localIdentifier= localIdentifiers[i]) 
    182         DG  = M.dgDataGranule(dataModelID=DMid) 
     182        DMid=M.dataModelID(mNS,schemeIdentifier=schemeIdentifiers[i], repositoryIdentifier=repositoryIdentifiers[i],localIdentifier= localIdentifiers[i]) 
     183        DG  = M.dgDataGranule(mNS,dataModelID=DMid) 
    183184        datagranules.append(DG) 
    184185 
    185186    #create coverage 
    186     dgBB=M.dgBoundingBox(LimitNorth = limitN, LimitSouth=limitS,LimitEast=limitE, LimitWest=limitW) 
    187     dgSc=M.dgSpatialCoverage(dgBoundingBox=dgBB) 
    188     dgTc=M.dgTemporalCoverage() 
    189     dgST=M.dgSpatioTemporalCoverage(dgSpatialCoverage = dgSc, dgTemporalCoverage=dgTc) 
    190     dgCv=M.dgCoverage(dgSpatioTemporalCoverage=dgST) 
     187    dgBB=M.dgBoundingBox(mNS,LimitNorth = limitN, LimitSouth=limitS,LimitEast=limitE, LimitWest=limitW) 
     188    dgSc=M.dgSpatialCoverage(mNS,dgBoundingBox=dgBB) 
     189    dgTc=M.dgTemporalCoverage(mNS) 
     190    dgST=M.dgSpatioTemporalCoverage(mNS,dgSpatialCoverage = dgSc, dgTemporalCoverage=dgTc) 
     191    dgCv=M.dgCoverage(mNS,dgSpatioTemporalCoverage=dgST) 
    191192     
    192193    #create data summary: 
    193     DS = M.dgDataSummary(dgCoverage=dgCv, dgParameterSummary=parameterSummaries) 
     194    DS = M.dgDataSummary(mNS,dgCoverage=dgCv, dgParameterSummary=parameterSummaries) 
    194195    #create data entity: 
    195     dgDE= M.dgDataEntity(dgDataGranule=datagranules, dgDataSummary=DS) 
     196    dgDE= M.dgDataEntity(mNS,dgDataGranule=datagranules, dgDataSummary=DS) 
    196197     
    197198    #create metadata description: 
    198     mdID=M.metadataDescriptionID(schemeIdentifier='1',repositoryIdentifier='2', localIdentifier='3') 
    199     dgMD=M.dgMetadataDescription(metadataDescriptionID=mdID) 
     199    mdID=M.metadataDescriptionID(mNS,schemeIdentifier='1',repositoryIdentifier='2', localIdentifier='3') 
     200    dgMD=M.dgMetadataDescription(mNS,metadataDescriptionID=mdID) 
    200201    #create metadata record 
    201     dgMR=M.dgMetadataRecord(dgMetadataID=dgMID, dgDataEntity=dgDE, dgMetadataDescription=dgMD) 
    202     dgMeta=MRW.dgMetadata(dgMetadataRecord=dgMR) 
     202    dgMR=M.dgMetadataRecord(mNS,dgMetadataID=dgMID, dgDataEntity=dgDE, dgMetadataDescription=dgMD) 
     203    dgMeta=MRW.dgMetadata(mNS,dgMetadataRecord=dgMR) 
    203204 
    204205    #round trip 
    205206    #produce XML  and save to file 
    206207    molestree=dgMeta.toXML() 
    207     moles=csml.parser_extra.PrettyPrint(molestree) 
     208    tree = cElementTree.ElementTree(molestree) 
     209    #moles=csml.parser_extra.PrettyPrint(molestree) 
     210    print tree 
     211    tree.write('molesout.xml') 
     212     
    208213     
    209214    print '\n \n \n BEFORE PARSING' 
    210215    #print moles 
    211     f=open('molesout.xml','w') 
    212     f.write(moles) 
    213     f.close() 
     216    #tree.write('molesout.xml') 
     217    #f=open('molesout.xml','w') 
     218    #f.write(moles) 
     219    #f.close() 
    214220    
    215221    
    216222    #produce XML again (round trip) 
    217223    tree=cElementTree.ElementTree(file='molesout.xml') 
    218     dgMeta=MRW.dgMetadata() 
     224    #print tree 
     225    dgMeta=MRW.dgMetadata(mNS) 
    219226    dgMeta.fromXML(tree.getroot()) 
     227    ##for parameterSummary in dgMeta.dgMetadataRecord.dgDataEntity.dgDataSummary.dgParameterSummary:e=ET.Element(ap) 
     228 
     229       ## print parameterSummary 
    220230    molestree=dgMeta.toXML() 
    221231    #print cElementTree.dump(molestree) 
    222232    moles=csml.parser_extra.PrettyPrint(molestree) 
    223     print '\n \n \n AFTER PARSING' 
     233    #print '\n \n \n AFTER PARSING' 
    224234    print moles    
    225235    #f=open('molesout2.xml','w') 
  • TI02-CSML/trunk/csml2MolesStuff/molesReadWrite.py

    r1652 r1662  
    33import cElementTree as ET 
    44 
     5 
     6#def myQName(uri,tag): 
     7    #return "{"+uri+"}"+tag 
     8 
    59class molesElement(object): 
    6     def __init__(self, **kwargs): 
     10    def __init__(self, ns, **kwargs): 
     11        self.ns=ns 
    712        for kw in kwargs: 
    813            setattr(self,kw,kwargs[kw]) 
     
    1924    def toXML(self,molesFrag): 
    2025        for attr in self.__dict__: 
    21             if isinstance(self.__dict__[attr], molesElement): 
     26            if attr=='ns': 
     27                pass 
     28            elif isinstance(self.__dict__[attr], molesElement): 
    2229                frag=ET.Element(attr) 
    2330                self.__dict__[attr].toXML(frag) 
     
    2633                for item in self.__dict__[attr]: 
    2734                    if isinstance(item, molesElement): 
     35                         
     36                        qn=ET.QName('',attr) 
     37                        frag=ET.Element(qn) 
     38                                                  
    2839                        frag=ET.Element(attr) 
    2940                        item.toXML(frag) 
     
    4657                if child.getchildren()!=[]: 
    4758                    newClass=type(child.tag, (molesElement,),{}) 
    48                     newChild=newClass() 
     59                    newChild=newClass(self.ns) 
    4960                    newChild.fromXML(child) 
    5061                    kw=child.tag 
     
    5869                     
    5970class dgMetadata(molesElement):     
    60     def __init__(self, **kwargs): 
    61         molesElement.__init__(self, **kwargs) 
     71    def __init__(self,ns, **kwargs): 
     72        molesElement.__init__(self,ns, **kwargs) 
    6273    def toXML(self): 
    6374        molesFrag=ET.Element('dgMetadata') 
Note: See TracChangeset for help on using the changeset viewer.