def ru_strftime(date, format="%d.%m.%Y", inflected_day=False, preposition=False): """ Russian strftime, formats date with given format. Value is a date (supports datetime.date and datetime.datetime), parameter is a format (string). For explainings about format, see documentation for original strftime: http://docs.python.org/lib/module-time.html Examples:: {{ some_date|ru_strftime:"%d %B %Y, %A" }} """ try: uformat = utils.provide_unicode(format, encoding, default=u"%d.%m.%Y") ures = dt.ru_strftime(uformat, date, inflected=True, inflected_day=inflected_day, preposition=preposition) res = utils.provide_str(ures, encoding) except Exception, err: # because filter must die silently try: default_date = date.strftime(format) except Exception: default_date = str(date) res = default_value % {'error': err, 'value': default_date}
def distance_of_time(from_time, accuracy=1): """ Display distance of time from current time. Parameter is an accuracy level (deafult is 1). Value must be numeral (i.e. time.time() result) or datetime.datetime (i.e. datetime.datetime.now() result). Examples:: {{ some_time|distance_of_time }} {{ some_dtime|distance_of_time:2 }} """ try: res = utils.provide_str( dt.distance_of_time_in_words(from_time, accuracy), encoding, default=default_value) except Exception, err: # because filter must die silently try: default_distance = "%s seconds" % str(int(time.time() - from_time)) except Exception: default_distance = "" res = default_value % {'error': err, 'value': default_distance}
def detranslify(stext): """Detranslify russian text""" try: res = utils.provide_str( translit.detranslify(stext), encoding, default=default_uvalue) except Exception, err: # because filter must die silently res = default_value % {'error': err, 'value': stext}