Changeset 2040 for TI02-CSML


Ignore:
Timestamp:
24/01/07 14:58:23 (13 years ago)
Author:
domlowe
Message:

more on xlinks in the domain

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

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/csml/csmllibs/csmlxlink.py

    r2038 r2040  
    5050               if getattr(csElement, child).__class__ == elem: 
    5151                   print 'yes' 
    52          
    53         #if csElement.arcrole[:40]=='http://ndg.nerc.ac.uk/xlinkUsage/insert#': 
    54             #insert the element 
    55      
    56     print csElement.href 
    57     print csElement.arcrole 
    58     print csElement.role 
    59     print csElement.show 
    6052     
    6153    return csDocument 
  • TI02-CSML/trunk/csml/parser_extra.py

    r2038 r2040  
    9898        self.dataset=dataset 
    9999         
    100     def __findmatch(self, href): 
     100    def __findFLmatch(self, href): 
    101101        for sd in csml.csmllibs.csmlextra.listify(self.dataset.storageDescriptor.descriptors): 
    102102            if type(sd)==csml.parser.AggregatedArray: 
     
    108108         
    109109                         
     110    def __findCLmatch(self, href): 
     111        for sd in csml.csmllibs.csmlextra.listify(self.dataset.storageDescriptor.descriptors): 
     112            if type(sd) in [csml.parser.NetCDFExtract]: 
     113                print dir(sd) 
     114                print sd 
     115                if hasattr(sd, 'id'): 
     116                    print sd 
     117                    if sd.id == href: 
     118                        print 'found match' 
     119                         
     120                 
    110121         
    111122    def resolveReferences(self): 
    112123        #for each xlink, call csml.csmllibs.csmlxlink.resolveXlink() 
     124         
    113125        #start with fileLists in the the storage descriptors: 
    114126        if hasattr(self.dataset, 'storageDescriptor'): 
     
    119131                            if hasattr(comp, 'fileListXLINK'): 
    120132                                if hasattr(comp.fileListXLINK, 'href'):                                 
    121                                     fList = self.__findmatch(comp.fileListXLINK.href[1:]) 
     133                                    fList = self.__findFLmatch(comp.fileListXLINK.href[1:]) 
    122134                                    if fList is not None: 
    123135                                        comp.fileList =fList 
    124136                                        del comp.fileListXLINK 
    125137        
     138        # now handle any xlinks in the domain: 
     139        for feature in self.dataset.featureCollection.featureMembers: 
     140            cvg = feature.value 
     141            for att in ['gridSeriesDomain', 'pointDomain', 'blah blah']: 
     142                if hasattr(cvg, att): 
     143                    domain=getattr(cvg,att) 
     144                    for ordinate in domain.coordTransformTable.gridOrdinates: 
     145                        if hasattr(ordinate.coordAxisValues,'coordinateList'): 
     146                            if ordinate.coordAxisValues.coordinateList.CONTENT[:1] == '#': 
     147                                cList = self.__findCLmatch(ordinate.coordAxisValues.coordinateList.CONTENT[1:]) 
     148                                if cList is not None: 
     149                                    ordinate.coordAxisValues.coordinateList=cList                   
     150                    break 
     151             
     152         
    126153        #for feature in self.dataset.featureCollection.featureMembers: 
    127154            #if hasattr(feature.value.rangeSet, 'valueArray'): 
     
    130157                    #if hasattr(vc, 'href'): 
    131158                        #self.dataset=csml.csmllibs.csmlxlink.resolveXlink(vc, self.dataset) 
    132         #sys.exit() 
     159        sys.exit() 
    133160        return self.dataset 
Note: See TracChangeset for help on using the changeset viewer.