From d0f96ff21316a62b82ec7ec0145df6c94c4926ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Tisa=CC=88ter?= Date: Wed, 6 May 2015 17:32:00 +0200 Subject: [PATCH] Return in case of higher precision than expected --- MySQLdb/times.py | 3 +-- tests/test_MySQLdb_times.py | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/MySQLdb/times.py b/MySQLdb/times.py index 6ff4651..e26f886 100644 --- a/MySQLdb/times.py +++ b/MySQLdb/times.py @@ -61,8 +61,7 @@ def DateTime_or_None(s): # 12:00:00.123456 micros = int(micros) * 10 ** (6 - len(micros)) else: - # 12:00:00.123456789 - micros = int(micros) + return None return datetime( int(s[:4]), # year diff --git a/tests/test_MySQLdb_times.py b/tests/test_MySQLdb_times.py index 80b7326..8000f64 100644 --- a/tests/test_MySQLdb_times.py +++ b/tests/test_MySQLdb_times.py @@ -19,6 +19,7 @@ class TestX_or_None(unittest.TestCase): assert times.Date_or_None('fail') is None assert times.Date_or_None('2015-12') is None assert times.Date_or_None('2015-12-40') is None + assert times.Date_or_None('0000-00-00') is None def test_time_or_none(self): assert times.Time_or_None('00:00:00') == time(0, 0) @@ -44,6 +45,8 @@ class TestX_or_None(unittest.TestCase): assert times.DateTime_or_None('') is None assert times.DateTime_or_None('fail') is None + assert times.DateTime_or_None('0000-00-00 00:00:00') is None + assert times.DateTime_or_None('0000-00-00 00:00:00.000000') is None assert times.DateTime_or_None('2015-12-13T01:02:03.123456789') is None def test_timedelta_or_none(self):