Changeset 62
- Timestamp:
- 07/24/07 17:14:38
- Files:
-
- sodar/trunk/sodar/data.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sodar/trunk/sodar/data.py
r61 r62 22 22 23 23 def __getitem__(self,index): 24 """allow retrieval by sample time in header24 """allow sample retrieval by sample time in header 25 25 """ 26 26 try: 27 int(index)28 except ValueError: # string like YYYY-MM can't convert to int27 return super(Data,self).__getitem__(index) 28 except TypeError: 29 29 return self.find(index) 30 except TypeError: # something other than integer or string31 raise TypeError,'Data index must be integer or YYYY-MM-DD-HH-MM'32 try:33 return super(Data,self).__getitem__(index)34 except IndexError: # integer index out of range35 raise IndexError, 'Data index out of range'36 except TypeError: # string representation of integer index37 raise ValueError,'Data index must be integer or YYYY-MM-DD-HH-MM'38 30 39 31 def find(self,index): … … 46 38 except ValueError: 47 39 raise ValueError,'Data index by date must be "YYYY-MM-DD-HH-MM"' 40 except AttributeError: 41 raise AttributeError,'Data index by date must be "YYYY-MM-DD-HH-MM"' 48 42 for sample in self: 49 43 if sample.header['YEAR'].rjust(4,'0') != year: continue … … 125 119 try: 126 120 return super(Body,self).__getitem__(index) 127 except IndexError: # integer index out of range 128 raise IndexError, 'Body index out of range' 129 except TypeError: # possible string representation of integer index 130 try: 131 int(index) # is string? 132 except ValueError: #bad string 133 raise ValueError, \ 134 'Body index must be position integer or altitude string' 135 except TypeError: # not a string 136 raise TypeError, \ 137 'Body index must be position integer or altitude string' 121 except TypeError: 138 122 return self.find(index) 139 123