From fec9cd6d913ec533421e975c35424deca8f7e061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Sun, 26 Sep 2021 14:12:46 +0200 Subject: [PATCH] =?UTF-8?q?Smaz=C3=A1no=20duplicitn=C3=AD=20utils.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/views/utils.py | 89 ------------------------------------------ 1 file changed, 89 deletions(-) delete mode 100644 seminar/views/utils.py diff --git a/seminar/views/utils.py b/seminar/views/utils.py deleted file mode 100644 index 1fa28827..00000000 --- a/seminar/views/utils.py +++ /dev/null @@ -1,89 +0,0 @@ -# -*- coding: utf-8 -*- - -import datetime -from django.contrib.auth.decorators import user_passes_test -from html.parser import HTMLParser - -import seminar.models as m - -class FirstTagParser(HTMLParser): - def __init__(self, *args, **kwargs): - self.firstTag = None - super().__init__(*args, **kwargs) - def handle_data(self, data): - if self.firstTag == None: - self.firstTag = data - -def histogram(seznam): - d = {} - for i in seznam: - if i not in d: - d[i] = 0 - d[i] += 1 - return d - - -roman_numerals = zip((1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1), - ('M', 'CM', 'D', 'CD','C', 'XC','L','XL','X','IX','V','IV','I')) - -def roman(num): - res = "" - for i, n in roman_numerals: - res += n * (num // i) - num %= i - return res - -def from_roman(rom): - if not rom: - return 0 - for i, n in roman_numerals: - if rom.upper().startswith(n): - return i + from_roman(rom[len(n):]) - raise Exception('Invalid roman numeral: "%s"', rom) - - -def seznam_problemu(): - problemy = [] - - # Pomocna fce k formatovani problemovych hlasek - def prb(cls, msg, objs=None): - s = u'%s: %s' % (cls.__name__, msg) - if objs: - s += u' [' - for o in objs: - try: - url = o.admin_url() - except: - url = None - if url: - s += u'%s, ' % (url, o.pk, ) - else: - s += u'%s, ' % (o.pk, ) - s = s[:-2] + u']' - problemy.append(s) - - # Duplicita jmen - jmena = {} - for r in m.Resitel.objects.all(): - j = r.plne_jmeno() - if j not in jmena: - jmena[j] = [] - jmena[j].append(r) - for j in jmena: - if len(jmena[j]) > 1: - prb(m.Resitel, u'Duplicitní jméno "%s"' % (j, ), jmena[j]) - - # Data maturity a narození - for r in m.Resitel.objects.all(): - if not r.rok_maturity: - prb(m.Resitel, u'Neznámý rok maturity', [r]) - if r.rok_maturity and (r.rok_maturity < 1990 or r.rok_maturity > datetime.date.today().year + 10): - prb(m.Resitel, u'Podezřelé datum maturity', [r]) - if r.datum_narozeni and (r.datum_narozeni.year < 1970 or r.datum_narozeni.year > datetime.date.today().year - 12): - prb(m.Resitel, u'Podezřelé datum narození', [r]) -# if not r.email: -# prb(Resitel, u'Neznámý email', [r]) - - return problemy - -