Revision 1366
Added by Aaron Marcuse-Kubitza almost 13 years ago
lib/xml_func.py | ||
---|---|---|
207 | 207 |
except ValueError, e: raise FormatException(e) |
208 | 208 |
funcs['_date'] = _date |
209 | 209 |
|
210 |
date_range_sep = '-' |
|
211 |
date_range_date_part_sep = ' ' |
|
210 |
def _dateRangeStart(items): |
|
211 |
items = dict(conv_items(str, items)) |
|
212 |
try: value = items['value'] |
|
213 |
except KeyError, e: raise SyntaxException(e) |
|
214 |
return dates.parse_date_range(value)[0] |
|
215 |
funcs['_dateRangeStart'] = _dateRangeStart |
|
212 | 216 |
|
213 |
def _dateRangePart(items):
|
|
217 |
def _dateRangeEnd(items):
|
|
214 | 218 |
items = dict(conv_items(str, items)) |
215 |
try: |
|
216 |
part = items['part'] |
|
217 |
value = items['value'] |
|
219 |
try: value = items['value'] |
|
218 | 220 |
except KeyError, e: raise SyntaxException(e) |
219 |
value = value.strip() |
|
220 |
if value.find(date_range_date_part_sep) < 0: return value |
|
221 |
# date_range_sep might be used as date part separator instead |
|
222 |
|
|
223 |
start, sep, end = value.partition(date_range_sep) |
|
224 |
if sep == '': return value # not a range |
|
225 |
start = start.split(date_range_date_part_sep) |
|
226 |
end = end.split(date_range_date_part_sep) |
|
227 |
#if len(end) < 3 |
|
228 |
#if len(start) < len(end): # range |
|
229 |
funcs['_dateRangePart'] = _dateRangePart |
|
221 |
return dates.parse_date_range(value)[1] |
|
222 |
funcs['_dateRangeEnd'] = _dateRangeEnd |
|
230 | 223 |
|
231 | 224 |
_name_parts_slices_items = [ |
232 | 225 |
('first', slice(None, 1)), |
Also available in: Unified diff
xml_func.py: Added _dateRangeStart and _dateRangeEnd