def parse_date_range(self, req): date_str = req.get_param('date', required=True) last_date_str = req.get_param('last_date') try: date = parse_date(date_str) if last_date_str: last_date = parse_date(last_date_str) else: last_date = None except (ValueError, OverflowError): raise falcon.HTTPBadRequest( description='Please supply dates in ISO 8601 format') return date, last_date
def parse_date_arg(ctx, param, value): if not value: return return parse_date(value)
def test_parse_date(): assert parse_date('2020-08-18') == datetime.datetime(2020, 8, 18, 0, 0) assert parse_date('2020-08-18 12:34') == datetime.datetime( 2020, 8, 18, 12, 34) assert parse_date('2020-08-18T12:34:56+02:00') == datetime.datetime( 2020, 8, 18, 12, 34, 56, tzinfo=tzoffset(None, 7200))