[Checkins] SVN: z3ext.formatter/trunk/src/z3ext/formatter/fancydatetime.py restore formatter pattern before return value

Nikolay Kim fafhrd at datacom.kz
Mon Mar 9 11:39:08 EDT 2009


Log message for revision 97703:
  restore formatter pattern before return value

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

-=-
Modified: z3ext.formatter/trunk/src/z3ext/formatter/fancydatetime.py
===================================================================
--- z3ext.formatter/trunk/src/z3ext/formatter/fancydatetime.py	2009-03-09 15:10:54 UTC (rev 97702)
+++ z3ext.formatter/trunk/src/z3ext/formatter/fancydatetime.py	2009-03-09 15:39:07 UTC (rev 97703)
@@ -62,9 +62,9 @@
 
         delta = d1 - d2
 
-        pattern = formatter.getPattern()
-        if ':ss' in pattern:
-            formatter.setPattern(pattern.replace(':ss', '').strip())
+        oldpattern = formatter.getPattern()
+        if ':ss' in oldpattern:
+            formatter.setPattern(oldpattern.replace(':ss', '').strip())
 
         if delta.days == 0:
             pattern = formatter.getPattern()
@@ -73,8 +73,10 @@
                 pos = pattern.find('H')
 
             formatter.setPattern(pattern[pos:])
-            return _(u'Today at ${value}',
-                     mapping={'value': formatter.format(value)})
+            value = _(u'Today at ${value}',
+                      mapping={'value': formatter.format(value)})
+            formatter.setPattern(oldpattern)
+            return value
 
         if delta.days == 1:
             pattern = formatter.getPattern()
@@ -83,17 +85,22 @@
                 pos = pattern.find('H')
 
             formatter.setPattern(pattern[pos:])
-            return _(u'Yesterday at ${value}',
-                     mapping={'value': formatter.format(value)})
+            value = _(u'Yesterday at ${value}',
+                      mapping={'value': formatter.format(value)})
+            formatter.setPattern(oldpattern)
+            return value
 
         if timezoneFormat == 3:
             if self.tp in ('full',):
                 formatter.setPattern(
                     formatter.getPattern().replace('z', '').strip())
                 formatted = formatter.format(value)
+                formatter.setPattern(oldpattern)
                 return u'%s %s'%(formatted, tz.zone)
 
-        return formatter.format(value)
+        value = formatter.format(value)
+        formatter.setPattern(oldpattern)
+        return value
 
 
 class FancyDatetimeFormatterFactory(object):



More information about the Checkins mailing list