Skip to content
Snippets Groups Projects
Select Git revision
  • 52fedbc996ffa31154499f1e5d02f0491cc8d25c
  • main default protected
  • renovate/django-5.x
  • koma/feature/preference-polling-form
4 results

forms.py

Blame
    • Benjamin Hättasch's avatar
      63c18d2e
      Improve AKScheduling · 63c18d2e
      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)
      63c18d2e
      History
      Improve AKScheduling
      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)
    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