from django import template from django.utils.safestring import mark_safe from seminar.utils import TypDeadline, deadline register = template.Library() @register.filter(name='deadline') def deadline_text(datum): if deadline(datum) is None: return 'Neznámý deadline' typ, cislo, dl = deadline(datum) strings = { TypDeadline.PredDeadline: f"1. deadline čísla {cislo} ({dl})", TypDeadline.SousDeadline: f"Soustřeďkový deadline čísla {cislo} ({dl})", TypDeadline.FinalDeadline: f"Finální deadline čísla {cislo} ({dl})", } return strings[typ] @register.filter(name='deadline_kratseji') def deadline_kratsi_text(datum): if deadline(datum) is None: return 'NONE' typ, cislo, dl = deadline(datum) strings = { TypDeadline.PredDeadline: f"{cislo} ♲", TypDeadline.SousDeadline: f"{cislo} Ⓢ", TypDeadline.FinalDeadline: f"{cislo} ✓", } return strings[typ] @register.filter(name='deadline_html') def deadline_html(datum): if deadline(datum) is None: return 'Neznámý deadline' typ, _, _ = deadline(datum) text = deadline_kratsi_text(datum) classes = { TypDeadline.PredDeadline: 'preddeadline', TypDeadline.SousDeadline: 'sous_deadline', TypDeadline.FinalDeadline: 'final_deadline', } return mark_safe(f'{text}') @register.filter(name='zkrat_nazev_problemu') def zkrat_nazev_problemu(nazev): if len(nazev) > 10: if nazev[9] == " ": nazev = nazev[:9] + "..." else: nazev = nazev[:10] + "..." return nazev