# HG changeset patch # User Thierry Florac # Date 1366708572 -7200 # Node ID ec49fc38bcb49f2e70089672b837049026889224 # Parent 0c2257bf3762e1ab3a1f9825e0718a243de98b36 Added dates formatting functions diff -r 0c2257bf3762 -r ec49fc38bcb4 docs/HISTORY.txt --- a/docs/HISTORY.txt Sun Apr 21 11:24:24 2013 +0200 +++ b/docs/HISTORY.txt Tue Apr 23 11:16:12 2013 +0200 @@ -4,6 +4,7 @@ 0.4.2 ----- - small correction in getHumanSize() function + - added dates formatting functions 0.4.1 ----- diff -r 0c2257bf3762 -r ec49fc38bcb4 src/ztfy/utils/date.py --- a/src/ztfy/utils/date.py Sun Apr 21 11:24:24 2013 +0200 +++ b/src/ztfy/utils/date.py Tue Apr 23 11:16:12 2013 +0200 @@ -26,7 +26,8 @@ from zope.i18n import translate # import local packages -from timezone import gmtime +from ztfy.utils.request import queryRequest +from ztfy.utils.timezone import gmtime, tztime from ztfy.utils import _ @@ -75,6 +76,18 @@ return datetime(value.year, value.month, value.day) +EXT_DATE_FORMAT = _("on %d/%m/%Y") +EXT_DATETIME_FORMAT = _("on %d/%m/%Y at %H:%M") + +def formatDate(value, format=EXT_DATE_FORMAT, request=None): + if request is None: + request = queryRequest() + return datetime.strftime(tztime(value), translate(format, context=request).encode('utf-8')).decode('utf-8') + +def formatDatetime(value, format=EXT_DATETIME_FORMAT, request=None): + return formatDate(value, format, request) + + def getAge(value): """Get age of a given datetime (including timezone) compared to current datetime (in UTC) diff -r 0c2257bf3762 -r ec49fc38bcb4 src/ztfy/utils/locales/en/LC_MESSAGES/ztfy.utils.mo Binary file src/ztfy/utils/locales/en/LC_MESSAGES/ztfy.utils.mo has changed diff -r 0c2257bf3762 -r ec49fc38bcb4 src/ztfy/utils/locales/en/LC_MESSAGES/ztfy.utils.po --- a/src/ztfy/utils/locales/en/LC_MESSAGES/ztfy.utils.po Sun Apr 21 11:24:24 2013 +0200 +++ b/src/ztfy/utils/locales/en/LC_MESSAGES/ztfy.utils.po Tue Apr 23 11:16:12 2013 +0200 @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: ZTFY.utils\n" -"POT-Creation-Date: Wed Apr 10 18:38:24 2013\n" +"POT-Creation-Date: Tue Apr 23 11:16:22 2013\n" "PO-Revision-Date: 2009-08-14 18:14+0200\n" "Last-Translator: Thierry Florac \n" "Language-Team: French \n" diff -r 0c2257bf3762 -r ec49fc38bcb4 src/ztfy/utils/locales/fr/LC_MESSAGES/ztfy.utils.mo Binary file src/ztfy/utils/locales/fr/LC_MESSAGES/ztfy.utils.mo has changed diff -r 0c2257bf3762 -r ec49fc38bcb4 src/ztfy/utils/locales/fr/LC_MESSAGES/ztfy.utils.po --- a/src/ztfy/utils/locales/fr/LC_MESSAGES/ztfy.utils.po Sun Apr 21 11:24:24 2013 +0200 +++ b/src/ztfy/utils/locales/fr/LC_MESSAGES/ztfy.utils.po Tue Apr 23 11:16:12 2013 +0200 @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: ZTFY.utils\n" -"POT-Creation-Date: Wed Apr 10 16:36:50 2013\n" +"POT-Creation-Date: Tue Apr 23 11:16:22 2013\n" "PO-Revision-Date: 2012-03-26 14:18+0200\n" "Last-Translator: Thierry Florac \n" "Language-Team: français <>\n" @@ -35,65 +35,73 @@ msgid "ZEO connection properties" msgstr "Propriétés de la connexion ZEO" -#: ztfy/utils/date.py:101 +#: ztfy/utils/date.py:102 +msgid "%d months ago" +msgstr "il y a %d mois" + +#: ztfy/utils/date.py:104 +msgid "%d weeks ago" +msgstr "il y a %d semaines" + +#: ztfy/utils/date.py:106 +msgid "%d days ago" +msgstr "il y a %d jours" + +#: ztfy/utils/date.py:108 +msgid "the day before yesterday" +msgstr "avant-hier" + +#: ztfy/utils/date.py:110 +msgid "yesterday" +msgstr "hier" + +#: ztfy/utils/date.py:114 msgid "%d hours ago" msgstr "il y a %d heures" -#: ztfy/utils/date.py:103 +#: ztfy/utils/date.py:116 msgid "%d minutes ago" msgstr "il y a %d minutes" -#: ztfy/utils/date.py:105 +#: ztfy/utils/date.py:118 msgid "less than 5 minutes ago" msgstr "il y a moins de 5 minutes" -#: ztfy/utils/date.py:116 +#: ztfy/utils/date.py:129 msgid "%d months" msgstr "%d mois" -#: ztfy/utils/date.py:118 +#: ztfy/utils/date.py:131 msgid "%d weeks" msgstr "%d semaines" -#: ztfy/utils/date.py:120 +#: ztfy/utils/date.py:133 msgid "%d days" msgstr "%d jours" -#: ztfy/utils/date.py:124 +#: ztfy/utils/date.py:137 msgid "%d day and %d hours" msgstr "%d jours et %d heures" -#: ztfy/utils/date.py:127 +#: ztfy/utils/date.py:140 msgid "%d hours" msgstr "%d heures" -#: ztfy/utils/date.py:131 +#: ztfy/utils/date.py:144 msgid "%d minutes" msgstr "%d minutes" -#: ztfy/utils/date.py:133 +#: ztfy/utils/date.py:146 msgid "%d seconds" msgstr "%d secondes" -#: ztfy/utils/date.py:89 -msgid "%d months ago" -msgstr "il y a %d mois" - -#: ztfy/utils/date.py:91 -msgid "%d weeks ago" -msgstr "il y a %d semaines" +#: ztfy/utils/date.py:79 +msgid "on %d/%m/%Y" +msgstr "le %d/%m/%Y" -#: ztfy/utils/date.py:93 -msgid "%d days ago" -msgstr "il y a %d jours" - -#: ztfy/utils/date.py:95 -msgid "the day before yesterday" -msgstr "avant-hier" - -#: ztfy/utils/date.py:97 -msgid "yesterday" -msgstr "hier" +#: ztfy/utils/date.py:80 +msgid "on %d/%m/%Y at %H:%M" +msgstr "le %d/%m/%Y à %H:%M" #: ztfy/utils/encoding.py:100 msgid "Greek (iso8859_7)" diff -r 0c2257bf3762 -r ec49fc38bcb4 src/ztfy/utils/locales/ztfy.utils.pot --- a/src/ztfy/utils/locales/ztfy.utils.pot Sun Apr 21 11:24:24 2013 +0200 +++ b/src/ztfy/utils/locales/ztfy.utils.pot Tue Apr 23 11:16:12 2013 +0200 @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Meaningless\n" -"POT-Creation-Date: Wed Apr 10 18:38:24 2013\n" +"POT-Creation-Date: Tue Apr 23 11:16:22 2013\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Zope 3 Developers \n" @@ -31,64 +31,72 @@ msgid "ZEO connection properties" msgstr "" -#: ztfy/utils/date.py:101 -msgid "%d hours ago" +#: ztfy/utils/date.py:102 +msgid "%d months ago" +msgstr "" + +#: ztfy/utils/date.py:104 +msgid "%d weeks ago" msgstr "" -#: ztfy/utils/date.py:103 -msgid "%d minutes ago" +#: ztfy/utils/date.py:106 +msgid "%d days ago" msgstr "" -#: ztfy/utils/date.py:105 -msgid "less than 5 minutes ago" +#: ztfy/utils/date.py:108 +msgid "the day before yesterday" +msgstr "" + +#: ztfy/utils/date.py:110 +msgid "yesterday" +msgstr "" + +#: ztfy/utils/date.py:114 +msgid "%d hours ago" msgstr "" #: ztfy/utils/date.py:116 -msgid "%d months" +msgid "%d minutes ago" msgstr "" #: ztfy/utils/date.py:118 +msgid "less than 5 minutes ago" +msgstr "" + +#: ztfy/utils/date.py:129 +msgid "%d months" +msgstr "" + +#: ztfy/utils/date.py:131 msgid "%d weeks" msgstr "" -#: ztfy/utils/date.py:120 +#: ztfy/utils/date.py:133 msgid "%d days" msgstr "" -#: ztfy/utils/date.py:124 +#: ztfy/utils/date.py:137 msgid "%d day and %d hours" msgstr "" -#: ztfy/utils/date.py:127 +#: ztfy/utils/date.py:140 msgid "%d hours" msgstr "" -#: ztfy/utils/date.py:131 +#: ztfy/utils/date.py:144 msgid "%d minutes" msgstr "" -#: ztfy/utils/date.py:133 +#: ztfy/utils/date.py:146 msgid "%d seconds" msgstr "" -#: ztfy/utils/date.py:89 -msgid "%d months ago" -msgstr "" - -#: ztfy/utils/date.py:91 -msgid "%d weeks ago" +#: ztfy/utils/date.py:79 +msgid "on %d/%m/%Y" msgstr "" -#: ztfy/utils/date.py:93 -msgid "%d days ago" -msgstr "" - -#: ztfy/utils/date.py:95 -msgid "the day before yesterday" -msgstr "" - -#: ztfy/utils/date.py:97 -msgid "yesterday" +#: ztfy/utils/date.py:80 +msgid "on %d/%m/%Y at %H:%M" msgstr "" #: ztfy/utils/encoding.py:100