Project

General

Profile

« Previous | Next » 

Revision 1366

xml_func.py: Added _dateRangeStart and _dateRangeEnd

View differences:

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