summaryrefslogtreecommitdiff
path: root/iso8601/iso8601.py
diff options
context:
space:
mode:
authorMichael Twomey <mick@twomeylee.name>2013-10-15 14:30:12 +0100
committerMichael Twomey <mick@twomeylee.name>2013-10-15 14:30:12 +0100
commita4d203ccdce86148415725d29bffda5659d1330f (patch)
tree9f8d39766ff01d64bae0807f0385df6727387eaa /iso8601/iso8601.py
parent0912257149c969fae013f4e24c531de5ce8d14e0 (diff)
downloadpyiso8601-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.py9
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)