language error -- fixed -- please update django source code

68 views
Skip to first unread message

Edwin Siu

unread,
Oct 30, 2015, 5:56:47 AM10/30/15
to Django developers (Contributions to Django itself)
#UPDATE: October 30, 2015 Django 1.8, Ubuntu Server 14.04, literati.nyc
#1 note that by the time automatic notifications were immplemented,
#I used crontab to schedule some recurrent events
#files with the name like 'task8am.sh' load a module through django shell
#in order to render templates I used a Django shortcut - render_to_string
#while testing I found that this does not work and return an error.
#Nevertheless, I was able to troubleshoot it and edited some code in
#/usr/local/lib/python3.4/dist-packages/django/utils/translation/trans_real.py
#It seems that check_for_language and get_language_bidi methods are not willing
#to accept None values. I hope it will be resolved in the following versions of
#Django, but for now, here is my patch
#256 def get_language_bidi():
#257     """
#258     Returns selected language's BiDi layout.
#259  
#260     * False = left-to-right layout
#261     * True = right-to-left layout
#262     """
#263     base_lang = get_language()
#264     if base_lang is None: 
#265         return False
#266     base_lang = get_language().split('-')[0]
#267     return base_lang in settings.LANGUAGES_BIDI
########
########
#400 @lru_cache.lru_cache(maxsize=1000)
#401 def check_for_language(lang_code):
#402     """
#403     Checks whether there is a global language file for the given language
#404     code. This is used to decide whether a user-provided language is
#405     available.
#406
#407     lru_cache should have a maxsize to prevent from memory exhaustion attacks,
#408     as the provided language codes are taken from the HTTP request. See also
#409     <https://www.djangoproject.com/weblog/2007/oct/26/security-fix/>.
#410     """
#411     # First, a quick check to make sure lang_code is well-formed (#21458)
#412     if lang_code is None or not language_code_re.search(lang_code):
#413         return False
#414     for path in all_locale_paths():
#415         if gettext_module.find('django', path, [to_locale(lang_code)]) is not None:
#416             return True
#417     return False

Tim Graham

unread,
Oct 30, 2015, 7:50:59 AM10/30/15
to Django developers (Contributions to Django itself)
Please don't duplicate a Trac ticket on the mailing list. Thanks.
Reply all
Reply to author
Forward
0 new messages