Module: check_mk
Branch: master
Commit: f30bc9a6d619d742d54b07e67e8e62187fecc1bd
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f30bc9a6d619d7…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Jul 24 12:02:26 2013 +0200
Fix DST error in AbsoluteDate Valuespec wit new time feature
---
web/htdocs/valuespec.py | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/web/htdocs/valuespec.py b/web/htdocs/valuespec.py
index 2803593..4cad688 100644
--- a/web/htdocs/valuespec.py
+++ b/web/htdocs/valuespec.py
@@ -1522,7 +1522,16 @@ class AbsoluteDate(ValueSpec):
if part < mmin or part > mmax:
raise MKUserError(varname, _("The value for %s must be between %d
and %d" % (_(what), mmin, mmax)))
parts.append(part)
+
+ # Construct broken time from input fields. Assume no-dst
parts += [0] * (self._include_time and 3 or 6)
+ # Convert to epoch
+ epoch = time.mktime(tuple(parts))
+ # Convert back to localtime in order to know DST setting
+ localtime = time.localtime(epoch)
+ # Enter DST setting of that time
+ parts[-1] = localtime.tm_isdst
+ # Convert to epoch again
return time.mktime(tuple(parts))
def validate_datatype(self, value, varprefix):