Ignore:
Timestamp:
21/01/10 15:35:47 (11 years ago)
Author:
sdonegan
Message:

added method to return start and end dates - useful if multiple date elements used

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/branches/ingestion-MEDIN/ingestAutomation-upgrade/OAIBatch/ExtractISO.py

    r6357 r6363  
    4343                self.datasetName = self.getElementVal(self.isoModel.dataSetName())               
    4444                 
    45                 self.boundingDates = self.getElementVal(self.isoModel.boundingDates())           
     45                self.boundingDates = self.getElementVal(self.isoModel.boundingDates()) 
     46                 
     47                self.boundingDatesRange = self.boundingDateRange(self.boundingDates)     
    4648                 
    4749                self.originalFormat = self.getElementVal(self.isoModel.originalFormat()) 
     
    6264                 
    6365                return True 
    64                  
     66         
     67                 
     68        ''' 
     69        Method to return start and end dates from a sequence of dates such as that found returned using the xpath defn from boundingDates 
     70        ''' 
     71        def boundingDateRange(self,boundingDatesList): 
     72                 
     73                #generate a simple list of all dates 
     74                allDates = [] 
     75                returnDates = {} 
     76                 
     77                for outer in boundingDatesList: 
     78                        for inner in outer.keys(): 
     79                                if outer[inner] is not None: 
     80                                        if outer[inner] != 'None': 
     81                                                #some other test here to ensure proper date object 
     82                                                allDates.append(outer[inner]) 
     83 
     84                #min and max seem to work for now (to get it working) - assuming proper dateformat (restrict to YYYY-MM-DD for now) 
     85                #TODO: use datetime library to do this properly          
     86                returnDates['start'] = min(allDates) 
     87                returnDates['end'] = max(allDates) 
     88                 
     89                return returnDates 
     90         
     91         
    6592                 
    6693        ''' 
Note: See TracChangeset for help on using the changeset viewer.