from collections import defaultdict from operator import itemgetter import pytz from django.utils.translation import gettext_lazy as _ def make_timezones(): data = defaultdict(list) for tz in pytz.all_timezones: if "/" in tz: area, loc = tz.split("/", 1) else: area, loc = "Other", tz if not loc.startswith("GMT"): data[area].append((tz, loc)) return sorted(data.items(), key=itemgetter(0)) TIMEZONE = make_timezones() del make_timezones ACE_THEMES = ( ("ambiance", "Ambiance"), ("chaos", "Chaos"), ("chrome", "Chrome"), ("clouds", "Clouds"), ("clouds_midnight", "Clouds Midnight"), ("cobalt", "Cobalt"), ("crimson_editor", "Crimson Editor"), ("dawn", "Dawn"), ("dreamweaver", "Dreamweaver"), ("eclipse", "Eclipse"), ("github", "Github"), ("idle_fingers", "Idle Fingers"), ("katzenmilch", "Katzenmilch"), ("kr_theme", "KR Theme"), ("kuroir", "Kuroir"), ("merbivore", "Merbivore"), ("merbivore_soft", "Merbivore Soft"), ("mono_industrial", "Mono Industrial"), ("monokai", "Monokai"), ("pastel_on_dark", "Pastel on Dark"), ("solarized_dark", "Solarized Dark"), ("solarized_light", "Solarized Light"), ("terminal", "Terminal"), ("textmate", "Textmate"), ("tomorrow", "Tomorrow"), ("tomorrow_night", "Tomorrow Night"), ("tomorrow_night_blue", "Tomorrow Night Blue"), ("tomorrow_night_bright", "Tomorrow Night Bright"), ("tomorrow_night_eighties", "Tomorrow Night Eighties"), ("twilight", "Twilight"), ("vibrant_ink", "Vibrant Ink"), ("xcode", "XCode"), ) MATH_ENGINES_CHOICES = ( ("tex", _("Leave as LaTeX")), ("svg", _("SVG with PNG fallback")), ("mml", _("MathML only")), ("jax", _("MathJax with SVG/PNG fallback")), ("auto", _("Detect best quality")), ) EFFECTIVE_MATH_ENGINES = ("svg", "mml", "tex", "jax")