Browse Source

Testdata: logování průběhu

Použil jsem Djangové/Pythonové logovadlo, ať se to dá kdyžtak vypnout/skrýt
export_seznamu_prednasek
Pavel "LEdoian" Turinsky 5 years ago
parent
commit
cd5e17b572
  1. 29
      seminar/testutils.py

29
seminar/testutils.py

@ -6,6 +6,7 @@ import lorem
import django.contrib.auth import django.contrib.auth
from django.db import transaction from django.db import transaction
import unidecode import unidecode
import logging
from seminar.models import Skola, Resitel, Rocnik, Cislo, Problem, Reseni, PrilohaReseni, Nastaveni, Soustredeni, Soustredeni_Ucastnici, Soustredeni_Organizatori, Osoba, Organizator, Prijemce, Tema, Uloha, Konfera, KonferaNode, TextNode, UlohaVzorakNode, RocnikNode, CisloNode, TemaVCisleNode, Text, Hodnoceni, UlohaZadaniNode, Novinky from seminar.models import Skola, Resitel, Rocnik, Cislo, Problem, Reseni, PrilohaReseni, Nastaveni, Soustredeni, Soustredeni_Ucastnici, Soustredeni_Organizatori, Osoba, Organizator, Prijemce, Tema, Uloha, Konfera, KonferaNode, TextNode, UlohaVzorakNode, RocnikNode, CisloNode, TemaVCisleNode, Text, Hodnoceni, UlohaZadaniNode, Novinky
@ -15,7 +16,11 @@ from django.contrib.sites.models import Site
User = django.contrib.auth.get_user_model() User = django.contrib.auth.get_user_model()
zlinska = None # tohle bude speciální škola, které později dodáme kontaktní osobu zlinska = None # tohle bude speciální škola, které později dodáme kontaktní osobu
logger = logging.getLogger(__name__)
def gen_osoby(rnd, size): def gen_osoby(rnd, size):
logger.info('Generuji osoby (size={})...'.format(size))
jmena_m = ['Aleš', 'Tomáš', 'Martin', 'Jakub', 'Petr', 'Lukáš', 'Cyril', 'Pavel Karel'] jmena_m = ['Aleš', 'Tomáš', 'Martin', 'Jakub', 'Petr', 'Lukáš', 'Cyril', 'Pavel Karel']
jmena_f = ['Eva', 'Karolína', 'Zuzana', 'Sylvie', 'Iva', 'Jana', 'Marie', jmena_f = ['Eva', 'Karolína', 'Zuzana', 'Sylvie', 'Iva', 'Jana', 'Marie',
'Marta Iva', 'Shu Shan'] 'Marta Iva', 'Shu Shan']
@ -66,6 +71,8 @@ def gen_osoby(rnd, size):
def gen_skoly(): #TODO někdy to přepsat, aby jich bylo více def gen_skoly(): #TODO někdy to přepsat, aby jich bylo více
logger.info('Generuji školy...')
skoly = [] skoly = []
prvnizs = Skola.objects.create(mesto='Praha', stat='CZ', psc='101 00', prvnizs = Skola.objects.create(mesto='Praha', stat='CZ', psc='101 00',
ulice='Krátká 5', nazev='První ZŠ', je_zs=True, je_ss=False) ulice='Krátká 5', nazev='První ZŠ', je_zs=True, je_ss=False)
@ -89,6 +96,8 @@ def gen_skoly(): #TODO někdy to přepsat, aby jich bylo více
return skoly return skoly
def gen_resitele(rnd, osoby, skoly): def gen_resitele(rnd, osoby, skoly):
logger.info('Generuji řešitele...')
resitele = [] resitele = []
for os in osoby: for os in osoby:
rand = rnd.randint(0, 8) rand = rnd.randint(0, 8)
@ -99,12 +108,14 @@ def gen_resitele(rnd, osoby, skoly):
return resitele return resitele
def gen_prijemci(rnd, osoby, kolik=10): def gen_prijemci(rnd, osoby, kolik=10):
logger.info('Generuji příjemce (kolik={})...'.format(kolik))
prijemci = [] prijemci = []
for i in rnd.sample(osoby, kolik): for i in rnd.sample(osoby, kolik):
prijemci.append(Prijemce.objects.create(osoba=i)) prijemci.append(Prijemce.objects.create(osoba=i))
return prijemci return prijemci
def gen_organizatori(rnd, osoby, last_rocnik, users): def gen_organizatori(rnd, osoby, last_rocnik, users):
logger.info('Generuji organizátory...')
organizatori = [] organizatori = []
for os in osoby: for os in osoby:
rand = rnd.randint(0, 8) rand = rnd.randint(0, 8)
@ -121,6 +132,8 @@ def gen_organizatori(rnd, osoby, last_rocnik, users):
return organizatori return organizatori
def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size): def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size):
logger.info('Generuji úlohy do čísla (size={})...'.format(size))
# ulohy resene v cisle # ulohy resene v cisle
jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá", jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá",
"Zákeřná", "Fyzikální"] "Zákeřná", "Fyzikální"]
@ -219,6 +232,8 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
return return
def gen_soustredeni(rnd, resitele, organizatori): def gen_soustredeni(rnd, resitele, organizatori):
logger.info('Generuji soustředění...')
soustredeni = [] soustredeni = []
for _ in range(1, 10): #FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?) for _ in range(1, 10): #FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?)
datum_zacatku=datetime.date(rnd.randint(2000, 2020), rnd.randint(1, 12), rnd.randint(1, 28)) datum_zacatku=datetime.date(rnd.randint(2000, 2020), rnd.randint(1, 12), rnd.randint(1, 28))
@ -242,6 +257,8 @@ def gen_soustredeni(rnd, resitele, organizatori):
return soustredeni return soustredeni
def gen_rocniky(last_rocnik, size): def gen_rocniky(last_rocnik, size):
logger.info('Generuji ročníky (size={})...'.format(size))
rocniky = [] rocniky = []
node = None node = None
for ri in range(min(last_rocnik - size, 1), last_rocnik + 1): for ri in range(min(last_rocnik - size, 1), last_rocnik + 1):
@ -253,6 +270,8 @@ def gen_rocniky(last_rocnik, size):
return rocniky return rocniky
def gen_konfery(size, rnd, organizatori, resitele, soustredeni): def gen_konfery(size, rnd, organizatori, resitele, soustredeni):
logger.info('Generuji konfery (size={})...'.format(size))
konfery = [] konfery = []
for _ in range(1, size): #FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?) for _ in range(1, size): #FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?)
konfera = Konfera.objects.create( konfera = Konfera.objects.create(
@ -275,6 +294,8 @@ def gen_konfery(size, rnd, organizatori, resitele, soustredeni):
return konfery return konfery
def gen_cisla(rnd, rocniky): def gen_cisla(rnd, rocniky):
logger.info('Generuji čísla...')
rocnik_cisla = [] rocnik_cisla = []
for rocnik in rocniky: for rocnik in rocniky:
otec = True otec = True
@ -318,6 +339,8 @@ def gen_cisla(rnd, rocniky):
return rocnik_cisla return rocnik_cisla
def gen_temata(rnd, rocniky, rocnik_cisla, organizatori): def gen_temata(rnd, rocniky, rocnik_cisla, organizatori):
logger.info('Generuji témata...')
jake = ["Hravé", "Fyzikální", "Nejlepší", "Totálně masakrální", jake = ["Hravé", "Fyzikální", "Nejlepší", "Totálně masakrální",
"Šokující", "Magnetické", "Modré", "Překvapivé", "Šokující", "Magnetické", "Modré", "Překvapivé",
"Plasmatické", "Novoroční"] "Plasmatické", "Novoroční"]
@ -361,6 +384,8 @@ def gen_temata(rnd, rocniky, rocnik_cisla, organizatori):
def gen_ulohy_k_tematum(rnd, rocniky, rocnik_cisla, rocnik_temata, organizatori): def gen_ulohy_k_tematum(rnd, rocniky, rocnik_cisla, rocnik_temata, organizatori):
logger.info('Generuji úlohy k tématům...')
# ulohy resene v cisle # ulohy resene v cisle
jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá", jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá",
"Zákeřná", "Fyzikální"] "Zákeřná", "Fyzikální"]
@ -457,6 +482,8 @@ def gen_ulohy_k_tematum(rnd, rocniky, rocnik_cisla, rocnik_temata, organizatori)
return return
def gen_novinky(rnd, organizatori): def gen_novinky(rnd, organizatori):
logger.info('Generuji novinky...')
jake = ["zábavné", "veselé", "dobrodružné", "skvělé"] jake = ["zábavné", "veselé", "dobrodružné", "skvělé"]
co = ["soustředění", "Fyziklání", "víkendové setkání"] co = ["soustředění", "Fyziklání", "víkendové setkání"]
@ -478,6 +505,8 @@ def otec_syn(otec, syn):
@transaction.atomic @transaction.atomic
def create_test_data(size = 6, rnd = None): def create_test_data(size = 6, rnd = None):
logger.info('Vyrábím testovací data (size={})...'.format(size))
assert size >= 1 assert size >= 1
# pevna pseudo-nahodnost # pevna pseudo-nahodnost
rnd = rnd or random.Random(x=42) rnd = rnd or random.Random(x=42)

Loading…
Cancel
Save