diff options
| -rw-r--r-- | ishtar_common/utils_secretary.py | 23 | 
1 files changed, 22 insertions, 1 deletions
| diff --git a/ishtar_common/utils_secretary.py b/ishtar_common/utils_secretary.py index 15fb69a2d..e419c3496 100644 --- a/ishtar_common/utils_secretary.py +++ b/ishtar_common/utils_secretary.py @@ -2,9 +2,14 @@  # -*- coding: utf-8 -*-  from secretary import Renderer + +from datetime import datetime +import locale  from PIL import Image  import re +from django.conf import settings +  RE_UNITS = re.compile("([.0-9]+)([a-z]+)") @@ -18,11 +23,27 @@ def parse_value_unit(value):      return value, unit +def human_date_filter(value): +    try: +        value = datetime.strptime(value, "%Y-%m-%d") +    except ValueError: +        return "" +    language_code = settings.LANGUAGE_CODE.split('-') +    language_code = language_code[0] + "_" + language_code[1].upper() +    for language_suffix in (".utf8", ""): +        try: +            locale.setlocale(locale.LC_TIME, language_code + language_suffix) +            break +        except locale.Error: +            pass +    return value.strftime(settings.DATE_FORMAT) + +  class IshtarSecretaryRenderer(Renderer):      def __init__(self, *args, **kwargs):          super(IshtarSecretaryRenderer, self).__init__(*args, **kwargs)          self.media_callback = self.ishtar_media_loader -        # self.environment.filters['pad'] = pad_string +        self.environment.filters['human_date'] = human_date_filter      def ishtar_media_loader(self, media, *args, **kwargs):          image_file, mime = self.fs_loader(media, *args, **kwargs) | 
