diff options
author | Michael Twomey <mick@twomeylee.name> | 2013-10-15 14:30:12 +0100 |
---|---|---|
committer | Michael Twomey <mick@twomeylee.name> | 2013-10-15 14:30:12 +0100 |
commit | a4d203ccdce86148415725d29bffda5659d1330f (patch) | |
tree | 9f8d39766ff01d64bae0807f0385df6727387eaa /iso8601/iso8601.py | |
parent | 0912257149c969fae013f4e24c531de5ce8d14e0 (diff) | |
download | pyiso8601-a4d203ccdce86148415725d29bffda5659d1330f.tar.gz |
Correctly raise ParseError for more invalid inputs
Fixes #1
Thanks to manish.tomar
Diffstat (limited to 'iso8601/iso8601.py')
-rw-r--r-- | iso8601/iso8601.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/iso8601/iso8601.py b/iso8601/iso8601.py index c852062..eee6741 100644 --- a/iso8601/iso8601.py +++ b/iso8601/iso8601.py @@ -106,6 +106,9 @@ def parse_date(datestring, default_timezone=UTC): groups["fraction"] = int(float("0.%s" % groups["fraction"]) * 1e6) if groups["second"] is None: groups["second"] = 0 - return datetime(int(groups["year"]), int(groups["month"]), int(groups["day"]), - int(groups["hour"]), int(groups["minute"]), int(groups["second"]), - int(groups["fraction"]), tz) + try: + return datetime(int(groups["year"]), int(groups["month"]), int(groups["day"]), + int(groups["hour"]), int(groups["minute"]), int(groups["second"]), + int(groups["fraction"]), tz) + except Exception as e: + raise ParseError(e) |