[Checkins] SVN: z3ext.formatter/trunk/ - Better 'fanctDatetime' js formatter

Nikolay Kim fafhrd91 at gmail.com
Mon Nov 2 00:21:57 EST 2009


Log message for revision 105426:
  - Better 'fanctDatetime' js formatter

Changed:
  U   z3ext.formatter/trunk/CHANGES.txt
  U   z3ext.formatter/trunk/src/z3ext/formatter/README.txt
  U   z3ext.formatter/trunk/src/z3ext/formatter/fancydatetime.py
  U   z3ext.formatter/trunk/src/z3ext/formatter/resources/fancydatetime.js

-=-
Modified: z3ext.formatter/trunk/CHANGES.txt
===================================================================
--- z3ext.formatter/trunk/CHANGES.txt	2009-11-02 03:25:47 UTC (rev 105425)
+++ z3ext.formatter/trunk/CHANGES.txt	2009-11-02 05:21:55 UTC (rev 105426)
@@ -2,6 +2,12 @@
 CHANGES
 =======
 
+1.4.2 (Unreleased)
+------------------
+
+- Better 'fanctDatetime' js formatter
+
+
 1.4.1 (2009-10-30)
 ------------------
 

Modified: z3ext.formatter/trunk/src/z3ext/formatter/README.txt
===================================================================
--- z3ext.formatter/trunk/src/z3ext/formatter/README.txt	2009-11-02 03:25:47 UTC (rev 105425)
+++ z3ext.formatter/trunk/src/z3ext/formatter/README.txt	2009-11-02 05:21:55 UTC (rev 105426)
@@ -154,10 +154,10 @@
    >>> print fpage.render(request, now=today)
    <html>
      <body>
-       ...Today at ...
-       ...Today at ...
-       ...Today at ...
-       ...Today at ...
+       ...<span ...
+       ...<span ...
+       ...<span ...
+       ...<span ...
      </body>
    </html>
 
@@ -169,10 +169,10 @@
    >>> print fpage.render(request, now=yesterday)
    <html>
      <body>
-       ...Yesterday at ...
-       ...Yesterday at ...
-       ...Yesterday at ...
-       ...Yesterday at ...
+       ...<span ...
+       ...<span ...
+       ...<span ...
+       ...<span ...
      </body>
    </html>
 
@@ -183,10 +183,10 @@
    >>> print fpage.render(request, now=now)
    <html>
      <body>
-       ...Today at ...
-       ...Today at ...
-       ...Today at ...
-       ...Today at ...
+       ...<span ...
+       ...<span ...
+       ...<span ...
+       ...<span ...
      </body>
    </html>
 

Modified: z3ext.formatter/trunk/src/z3ext/formatter/fancydatetime.py
===================================================================
--- z3ext.formatter/trunk/src/z3ext/formatter/fancydatetime.py	2009-11-02 03:25:47 UTC (rev 105425)
+++ z3ext.formatter/trunk/src/z3ext/formatter/fancydatetime.py	2009-11-02 05:21:55 UTC (rev 105426)
@@ -52,46 +52,14 @@
 
         value = value.astimezone(tz)
 
-        d1 = datetime.now(utc).date()
-        d2 = value.astimezone(utc).date()
-
-        delta = d1 - d2
-
         fdate = unicode(value.strftime(str(getattr(configlet,'date_'+self.tp))))
         ftime = unicode(value.strftime(str(getattr(configlet,'time_'+self.tp))))
+ 
+        return u'<span class="z3ext-formatter-fancydatetime" date="%s" time="%s">%s</span>' \
+            % (fdate, ftime, value.strftime('%B %d, %Y %H:%M:%S %z'))
 
-        if delta.days == 0:
-            format = str(getattr(configlet, 'time_'+self.tp))
 
-            formattedvalue = translate(
-                u'Today at ${value}', 'z3ext.formatter',
-                mapping={'value': value.strftime(format)})
-            return u'<span class="z3ext-formatter-fancydatetime" date="%s" time="%s" value="%s">%s</span>' \
-                % (fdate, ftime, value.strftime('%B %d, %Y %H:%M:%S %z'),
-                   formattedvalue)
 
-        if delta.days == 1:
-            format = str(getattr(configlet, 'time_'+self.tp))
-
-            formattedvalue = translate(
-                u'Yesterday at ${value}', 'z3ext.formatter',
-                mapping={'value': value.strftime(format)})
-
-            return u'<span class="z3ext-formatter-fancydatetime" date="%s" time="%s" value="%s">%s</span>' \
-                % (fdate, ftime, value.strftime('%B %d, %Y %H:%M:%S %z'),
-                   formattedvalue)
-
-        format = '%s %s'%(
-            getattr(configlet, 'date_'+self.tp),
-            getattr(configlet, 'time_'+self.tp))
-
-        formatted = unicode(value.strftime(str(format)))
-
-        return u'<span class="z3ext-formatter-fancydatetime" date="%s" time="%s" value="%s">%s</span>' \
-            % (fdate, ftime, value.strftime('%B %d, %Y %H:%M:%S %z'), formatted)
-
-
-
 class FancyDatetimeFormatterFactory(object):
     component.adapts(IHTTPRequest)
     interface.implements(IFormatterFactory)

Modified: z3ext.formatter/trunk/src/z3ext/formatter/resources/fancydatetime.js
===================================================================
--- z3ext.formatter/trunk/src/z3ext/formatter/resources/fancydatetime.js	2009-11-02 03:25:47 UTC (rev 105425)
+++ z3ext.formatter/trunk/src/z3ext/formatter/resources/fancydatetime.js	2009-11-02 05:21:55 UTC (rev 105426)
@@ -1,10 +1,15 @@
 function setFancydatetimeFormatter(el)
 {
-    var time = new Date();
-    var value = el.attr('value');
-    time.setTime(Date.parse(value));
-    var new_time = new Date();
-    delta = new_time-time;
+    var date = new Date();
+    date.setTime(Date.parse(el.text()));
+    date.setHours(0);
+    date.setMinutes(0);
+
+    var now = new Date();
+    now.setHours(23);
+    now.setMinutes(59);
+
+    delta = now-date;
     if (delta < 0) {
         delta = Math.abs(delta);
     }
@@ -12,12 +17,10 @@
     months = Math.floor(delta/(30*24*60*60*1000.0));
     weeks = Math.floor(delta/(7*24*60*60*1000.0));
     days = Math.floor(delta/(24*60*60*1000.0));
-    hours = Math.floor(delta/(60*60*1000.0));
-    minutes = Math.floor(delta/(60*1000.0));
 
     var res;
 
-    if (!years && !months && !weeks && days == 1) {
+    if (!years & !months & !weeks & days == 1) {
         res = 'Yesterday at ' + el.attr('time');
 
     } else if (!years & !months & !weeks & days == 0) {



More information about the checkins mailing list