Home | Trees | Indices | Help |
---|
|
1 # -*- coding: utf-8 -*- 2 # License: GNU GPL2 3 # Author: Pythy <the.pythy@gmail.com> 4 """ 5 pytils.translit templatetags for Django web-framework 6 """ 7 8 __id__ = __revision__ = "$Id: pytils_translit.py 29 2006-10-21 08:28:27Z the.pythy $" 9 __url__ = "$URL: https://pythy.googlecode.com/svn/trunk/pytils/pytils/templatetags/pytils_translit.py $" 10 11 from django import template, conf 12 from pytils import translit, utils 13 14 register = template.Library() #: Django template tag/filter registrator 15 encoding = conf.settings.DEFAULT_CHARSET #: Current charset (sets in Django project's settings) 16 debug = conf.settings.DEBUG #: Debug mode (sets in Django project's settings) 17 show_value = getattr(conf.settings, 'PYTILS_SHOW_VALUES_ON_ERROR', False) #: Show values on errors (sets in Django project's settings) 18 19 # Если отладка, то показываем 'unknown+сообщение об ошибке'. 20 # Если отладка выключена, то можно чтобы при ошибках показывалось 21 # значение, переданное фильтру (PYTILS_SHOW_VALUES_ON_ERROR=True) 22 # либо пустая строка. 23 24 if debug: 25 default_value = "unknown: %(error)s" 26 default_uvalue = u"unknown: %(error)s" 27 elif show_value: 28 default_value = "%(value)s" 29 default_uvalue = u"%(value)s" 30 else: 31 default_value = "" 32 default_uvalue = u"" 33 34 35 # -- filters -- 3638 """Translify russian text""" 39 try: 40 res = translit.translify( 41 utils.provide_unicode( 42 stext, 43 encoding, 44 default=default_value 45 )) 46 except Exception, err: 47 # because filter must die silently 48 res = default_value % {'error': err, 'value': stext} 49 return res5052 """Detranslify russian text""" 53 try: 54 res = utils.provide_str( 55 translit.detranslify(stext), 56 encoding, 57 default=default_uvalue) 58 except Exception, err: 59 # because filter must die silently 60 res = default_value % {'error': err, 'value': stext} 61 return res6264 """Make slug from (russian) text""" 65 try: 66 res = translit.slugify( 67 utils.provide_unicode( 68 stext, 69 encoding, 70 default=default_value 71 )) 72 except Exception, err: 73 # because filter must die silently 74 res = default_value % {'error': err, 'value': stext} 75 return res76 77 # -- register filters 78 register.filter('translify', translify) 79 register.filter('detranslify', detranslify) 80 register.filter('slugify', slugify) 81
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0alpha3 on Sun Oct 29 00:35:03 2006 | http://epydoc.sourceforge.net |