Advertisement
Guest User

Untitled

a guest
Jan 26th, 2015
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.80 KB | None | 0 0
  1. class LanguageDetector(object):
  2.     '''Detect language for all http methods in ModelViews'''
  3.     def apply_language(fn):
  4.         @wraps(fn)
  5.         def wrapper(request, *args, **kwargs):
  6.             codes = [code.lower() for code, title in settings.LANGUAGES]
  7.  
  8.             if (
  9.                 request.GET.get('language')
  10.                 and
  11.                 request.GET['language'].lower() in codes
  12.             ):
  13.                 with smart_override(request.GET['language']):
  14.                     res = fn(request, *args, **kwargs)
  15.             else:
  16.                 res = fn(request, *args, **kwargs)
  17.  
  18.             return res
  19.         return wrapper
  20.  
  21.     @method_decorator(apply_language)
  22.     def dispatch(self, *args, **kwargs):
  23.         return super(LanguageDetector, self).dispatch(*args, **kwargs)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement