Example #1
0
def _parse_value(v: str) -> Union[str, int, datetime.date]:
    if len(v) >= 2 and v.startswith("'") and v.endswith("'"):
        return v[1:-1]
    try:
        return parse_iso_date(v)
    except ValueError:
        pass
    return int(v)
Example #2
0
 def parse_value(self, v: str) -> datetime.date:
     return parse_iso_date(v)
Example #3
0
 def test_empty(self) -> None:
     with assert_raises_regex(ValueError, "invalid date ''"):
         parse_iso_date("")
Example #4
0
 def test_out_of_range(self) -> None:
     with assert_raises_regex(ValueError, "invalid date '20151304'"):
         parse_iso_date("20151304")
Example #5
0
 def test_without_dashes(self) -> None:
     date = parse_iso_date("20150413")
     assert_equal(datetime.date(2015, 4, 13), date)
Example #6
0
 def test_invalid(self) -> None:
     with assert_raises_regex(ValueError, "invalid date 'INVALID'"):
         parse_iso_date("INVALID")