[Checkins] SVN: z3ext.formatter/trunk/src/z3ext/formatter/humandatetime.py more tz fixes

Nikolay Kim fafhrd91 at gmail.com
Fri Oct 2 09:22:51 EDT 2009


Log message for revision 104751:
  more tz fixes

Changed:
  U   z3ext.formatter/trunk/src/z3ext/formatter/humandatetime.py

-=-
Modified: z3ext.formatter/trunk/src/z3ext/formatter/humandatetime.py
===================================================================
--- z3ext.formatter/trunk/src/z3ext/formatter/humandatetime.py	2009-10-02 12:02:53 UTC (rev 104750)
+++ z3ext.formatter/trunk/src/z3ext/formatter/humandatetime.py	2009-10-02 13:22:50 UTC (rev 104751)
@@ -22,7 +22,7 @@
 from zope.component import getUtility
 from zope.publisher.interfaces.http import IHTTPRequest
 
-from interfaces import IFormatter, IFormatterFactory, IFormatterConfiglet, _
+from interfaces import _, IFormatter, IFormatterFactory, IFormatterConfiglet
 
 
 class HumanDatetimeFormatter(object):
@@ -49,14 +49,20 @@
         self.request = request
 
     def format(self, value):
+        configlet = getUtility(IFormatterConfiglet)
+
+        tz = timezone(configlet.timezone)
+
         if value.tzinfo is None:
-            value = utc.localize(datetime)
+            value = utc.localize(value)
+
         now = datetime.now(utc)
         delta = now - value.astimezone(utc)
         key = 'past'
         if delta < timedelta():
             delta = - delta + timedelta(seconds=1) #due to python implementation
             key = 'future'
+
         offset = (value.tzinfo.utcoffset(value).seconds/600)*10
         value = FixedOffset(offset).normalize(value)
 
@@ -64,27 +70,31 @@
             delta.days/365, delta.days/30, delta.days/7,
             delta.seconds/3600, delta.seconds/60)
         formatted = None
+
         if years > 0:
             formatted = translate(self.messages[key]['year'], 'z3ext.formatter',
-                             mapping={'value': years})
+                                  mapping={'value': years})
         elif months > 0:
             formatted = translate(self.messages[key]['month'],'z3ext.formatter',
-                             mapping={'value': months})
+                                  mapping={'value': months})
         elif weeks > 0:
             formatted = translate(self.messages[key]['week'], 'z3ext.formatter',
-                             mapping={'value': weeks})
+                                  mapping={'value': weeks})
         elif delta.days > 0:
             formatted = translate(self.messages[key]['day'], 'z3ext.formatter',
-                             mapping={'value': delta.days})
+                                  mapping={'value': delta.days})
         elif hours > 0:
             formatted = translate(self.messages[key]['hour'], 'z3ext.formatter',
-                             mapping={'value': hours})
+                                  mapping={'value': hours})
         elif minutes > 0:
-            formatted = translate(self.messages[key]['minute'], 'z3ext.formatter',
-                             mapping={'value': minutes})
+            formatted = translate(
+                self.messages[key]['minute'], 'z3ext.formatter',
+                mapping={'value': minutes})
         else:
-            formatted = translate(self.messages[key]['second'], 'z3ext.formatter',
-                         mapping={'value': delta.seconds})
+            formatted = translate(
+                self.messages[key]['second'], 'z3ext.formatter',
+                mapping={'value': delta.seconds})
+
         return """<span class="z3ext-formatter-humandatetime" value="%s">%s</span>""" \
                 % (value.strftime('%Y %B %d %H:%M:%S %z'), formatted)
 



More information about the checkins mailing list