27 lines
915 B
Python
27 lines
915 B
Python
import codecs
|
|
import encodings.aliases
|
|
import re
|
|
|
|
import babel.core
|
|
|
|
|
|
def patch_codecs():
|
|
# ---------------------------------------------------------
|
|
# some charset are known by Python under a different name
|
|
# ---------------------------------------------------------
|
|
|
|
encodings.aliases.aliases['874'] = 'cp874'
|
|
encodings.aliases.aliases['windows_874'] = 'cp874'
|
|
|
|
# ---------------------------------------------------------
|
|
# alias hebrew iso-8859-8-i and iso-8859-8-e on iso-8859-8
|
|
# https://bugs.python.org/issue18624
|
|
# ---------------------------------------------------------
|
|
|
|
iso8859_8 = codecs.lookup('iso8859_8')
|
|
iso8859_8ie_re = re.compile(r'iso[-_]?8859[-_]8[-_]?[ei]', re.IGNORECASE)
|
|
codecs.register(lambda charset: iso8859_8 if iso8859_8ie_re.match(charset) else None)
|
|
|
|
# To remove when corrected in Babel
|
|
babel.core.LOCALE_ALIASES['nb'] = 'nb_NO'
|