Changeset 1937 for TI02-CSML/trunk/csml


Ignore:
Timestamp:
03/01/07 08:20:46 (13 years ago)
Author:
domlowe
Message:

synching with repository before downloading

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/csml/API/ops_GridSeriesFeature.py

    r1932 r1937  
    7878            if timeok ==1: 
    7979                self.times.append(time) 
    80 #    sys.exit() 
    81  
    82     #to keep track of files that have already been fetched. eg. if multiple times are in a single file only need to get data from that file once... 
    83     numFiles=len(self.rangeSet.aggregatedArray.component[0].fileName.split()) 
    84     timeToFileRatio=len(domainref['t'].split())/numFiles 
    85     filesFetched=[] 
    86     #get data: 
    87     for time in self.times: 
    88         listPosition=domainref['t'].split().index(time) 
    89         strTimes= strTimes + ' ' + time 
    90         for comp in self.rangeSet.aggregatedArray.component: 
    91             filePos=(listPosition)/timeToFileRatio 
    92             if filePos in filesFetched: 
    93                 continue #already got data from this file, try next time 
    94             data=comp.getData(fileposition=filePos, times=self.times, **kwargs) 
    95             self.files.append(comp.fileName.split()[filePos]) 
    96             if fulldata ==[]: 
    97                fulldata = data.tolist() 
    98             else: 
    99                 for item in data.tolist(): 
    100                     fulldata.append(item) 
    101             filesFetched.append(filePos) 
    102         axisorder = data.getAxisIds()  #will need later! 
    103     try: 
    104         caltype=self.domain.domainReference.frame.split(':',1)[0] 
    105         calunits=self.domain.domainReference.frame.split(':',1)[1] 
    106         csml.csmllibs.csmltime.setcdtimeCalendar(caltype) 
    107     except: 
    108         csml.csmllibs.csmltime.setcdtimeCalendar(csml.csmllibs.csmltime.cdtime.DefaultCalendar) 
     80    print dir(self.value.rangeSet) 
     81    if hasattr(self.value.rangeSet, 'aggregatedArray'): 
     82        #handle aggregatedArray 
     83        if type(self.value.rangeSet.aggregatedArray.components) is list: 
     84            numFiles= len(self.value.rangeSet.aggregatedArray.components[0].fileName.CONTENT.split()) 
     85        else: 
     86            numFiles= len(self.value.rangeSet.aggregatedArray.components.fileName.CONTENT.split()) 
     87        timeToFileRatio=len(self.domain[timeAxis][0].split())/numFiles 
     88        #to keep track of files that have already been fetched. eg. if multiple times are in a single file only need to get data from that file once... 
     89        filesFetched=[] 
     90        #get data: 
     91        for time in self.times: 
     92            listPosition=self.domain[timeAxis][0].split().index(time) 
     93            strTimes= strTimes + ' ' + time 
     94            for comp in iter([self.value.rangeSet.aggregatedArray.components]): #iter?? 
     95                filePos=(listPosition)/timeToFileRatio 
     96                if filePos in filesFetched: 
     97                    continue #already got data from this file, try next time 
     98                data=comp.getData(fileposition=filePos, times=self.times, **kwargs) 
     99                self.files.append(comp.fileName.split()[filePos]) 
     100                if fulldata ==[]: 
     101                    fulldata = data.tolist() 
     102                else: 
     103                    for item in data.tolist(): 
     104                        fulldata.append(item) 
     105                filesFetched.append(filePos) 
     106            axisorder = data.getAxisIds()  #will need later! 
     107            sys.exit() 
     108            for comp in iter([self.value.rangeSet.aggregatedArray.components]): 
     109                filePos=(listPosition)/timeToFileRatio 
     110                if filePos in filesFetched: 
     111                    continue #already got data from this file, try next time 
     112                data=comp.getData(fileposition=filePos, times=self.times, **kwargs) 
     113                self.files.append(comp.fileName.split()[filePos]) 
     114                if fulldata ==[]: 
     115                    fulldata = data.tolist() 
     116                else: 
     117                    for item in data.tolist(): 
     118                        fulldata.append(item) 
     119                filesFetched.append(filePos) 
     120            axisorder = data.getAxisIds()  #will need later! 
     121        try: 
     122            caltype=self.domain.domainReference.frame.split(':',1)[0] 
     123            calunits=self.domain.domainReference.frame.split(':',1)[1] 
     124            csml.csmllibs.csmltime.setcdtimeCalendar(caltype) 
     125        except: 
     126            csml.csmllibs.csmltime.setcdtimeCalendar(csml.csmllibs.csmltime.cdtime.DefaultCalendar) 
     127    elif hasattr(self.value.rangeSet, 'datablock'): #not tested 
     128        pass 
     129     
     130     
     131     
    109132    ### define domain and rangeSet to use for feature in csml document#### 
    110133    domain=csml.parser.GridSeriesDomain() 
Note: See TracChangeset for help on using the changeset viewer.