From ee43ccb71e66e817d869f4819c12f5e519495c38 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 15 Feb 2010 16:46:55 -0700 Subject: [PATCH] Workaround for local timezones with historical dates on crippled commercial operating systems --- src/calibre/utils/date.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/calibre/utils/date.py b/src/calibre/utils/date.py index 8b26ab02bc..da5a2d3bc2 100644 --- a/src/calibre/utils/date.py +++ b/src/calibre/utils/date.py @@ -11,8 +11,17 @@ from datetime import datetime from dateutil.parser import parse from dateutil.tz import tzlocal, tzutc +class SafeLocalTimeZone(tzlocal): + + def _isdst(self, dt): + try: + return tzlocal._isdst(self, dt) + except ValueError: + pass + return False + utc_tz = _utc_tz = tzutc() -local_tz = _local_tz = tzlocal() +local_tz = _local_tz = SafeLocalTimeZone() def parse_date(date_string, assume_utc=False, as_utc=True, default=None): '''