changeset 68b1c94697e9 in tryton:4.6
details: https://hg.tryton.org/tryton?cmd=changeset;node=68b1c94697e9
description:
Try to use native time zone of Windows
The dateutil implementation fails on Windows for date before epoch.
issue8145
review58541002
(grafted from f78aba02aaf00b3f3b4bc0351cddc36dcf9b4cb3)
diffstat:
tryton/common/common.py | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diffs (28 lines):
diff -r 6acae824f7fa -r 68b1c94697e9 tryton/common/common.py
--- a/tryton/common/common.py Mon Mar 04 18:58:26 2019 +0100
+++ b/tryton/common/common.py Fri Mar 08 18:39:27 2019 +0100
@@ -36,7 +36,6 @@
except ImportError:
ssl = None
from threading import Lock
-import dateutil.tz
from tryton.exceptions import TrytonServerError, TrytonError
from tryton.pyson import PYSONEncoder
@@ -1266,8 +1265,14 @@
def timezoned_date(date, reverse=False):
- lzone = dateutil.tz.tzlocal()
- szone = dateutil.tz.tzutc()
+ try:
+ from dateutil.tz.win import tzwinlocal as tzlocal
+ except ImportError:
+ from dateutil.tz import tzlocal
+ from dateutil.tz import tzutc
+
+ lzone = tzlocal()
+ szone = tzutc()
if reverse:
lzone, szone = szone, lzone
return date.replace(tzinfo=szone).astimezone(lzone).replace(tzinfo=None)