Source code for slim.models.decorators

__title__ = 'slim.models.decorators'
__version__ = '0.7'
__build__ = 0x000007
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__all__ = ('prepend_language', 'localeurl_prepend_language', 'auto_prepend_language')

from slim.utils import locale_url_is_installed

[docs]def prepend_language(func, language_field='language'): """ Prepends the language from the model to the path resolved. """ def inner(self, *args, **kwargs): return "/%s%s" % (getattr(self, language_field), func(self, *args, **kwargs)) return inner
try: from localeurl.templatetags.localeurl_tags import chlocale def localeurl_prepend_language(func, language_field='language'): """ Prepends the language from the model to the path resolved when `django-localeurl` package is used. """ def inner(self, *args, **kwargs): return chlocale(func(self, *args, **kwargs), getattr(self, language_field)) return inner # If `localeurl` is available gets the `localeurl` based decorator. Otherwise, gets `prepend_language` # based decorator. if locale_url_is_installed(): auto_prepend_language = localeurl_prepend_language else: auto_prepend_language = prepend_language except ImportError as e: from slim.exceptions import LocaleurlImportError
[docs] def localeurl_prepend_language(func, language_field=None): raise LocaleurlImportError( "You should have localeurl installed in order to use " "`slim.models.localeurl_prepend_language` decorator." ) # Fallback
auto_prepend_language = prepend_language
Read the Docs v: 0.7
Versions
latest
0.7.2
0.7.1
0.7
0.6
0.5
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.