Select Git revision
-
Benjamin Hättasch authored
Add or complete docstrings Remove code smells Disable irrelevant warnings Remove empty admin.py (to disable doc generation for an empty module) Add additional test cases and improve basic test interface (support both 403 and 302 in case the user lacks rights to see a view through optional configuration) Improve usage of types for API endpoints (e.g., restrict writing endpoints to writing only)
Benjamin Hättasch authoredAdd or complete docstrings Remove code smells Disable irrelevant warnings Remove empty admin.py (to disable doc generation for an empty module) Add additional test cases and improve basic test interface (support both 403 and 302 in case the user lacks rights to see a view through optional configuration) Improve usage of types for API endpoints (e.g., restrict writing endpoints to writing only)
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
environment.py 967 B
# environment.py
import re
from django_tex.environment import environment
# Used to filter all very special UTF-8 chars that are probably not contained in the LaTeX fonts
# and would hence cause compilation errors
utf8_replace_pattern = re.compile(u'[^\u0000-\u206F]', re.UNICODE)
def latex_escape_utf8(value):
"""
Escape latex special chars and remove invalid utf-8 values
:param value: string to escape
:type value: str
:return: escaped string
:rtype: str
"""
return utf8_replace_pattern.sub('', value).replace('&', '\&').replace('_', '\_').replace('#', '\#').replace('$',
'\$').replace(
'%', '\%').replace('{', '\{').replace('}', '\}')
def improved_tex_environment(**options):
env = environment(**options)
env.filters.update({
'latex_escape_utf8': latex_escape_utf8,
})
return env