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
from django.db import transaction
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
@ -15,7 +16,11 @@ from django.contrib.sites.models import Site
User = django.contrib.auth.get_user_model()
zlinska = None # tohle bude speciální škola, které později dodáme kontaktní osobu
logger = logging.getLogger(__name__)
def gen_osoby(rnd, size):
logger.info('Generuji osoby (size={})...'.format(size))
jmena_m = ['Aleš', 'Tomáš', 'Martin', 'Jakub', 'Petr', 'Lukáš', 'Cyril', 'Pavel Karel']
jmena_f = ['Eva', 'Karolína', 'Zuzana', 'Sylvie', 'Iva', 'Jana', 'Marie',
'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
logger.info('Generuji školy...')
skoly = []
prvnizs = Skola.objects.create(mesto='Praha', stat='CZ', psc='101 00',
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
def gen_resitele(rnd, osoby, skoly):
logger.info('Generuji řešitele...')
resitele = []
for os in osoby:
rand = rnd.randint(0, 8)
@ -99,12 +108,14 @@ def gen_resitele(rnd, osoby, skoly):
return resitele
def gen_prijemci(rnd, osoby, kolik=10):
logger.info('Generuji příjemce (kolik={})...'.format(kolik))
prijemci = []
for i in rnd.sample(osoby, kolik):
prijemci.append(Prijemce.objects.create(osoba=i))
return prijemci
def gen_organizatori(rnd, osoby, last_rocnik, users):
logger.info('Generuji organizátory...')
organizatori = []
for os in osoby:
rand = rnd.randint(0, 8)
@ -121,6 +132,8 @@ def gen_organizatori(rnd, osoby, last_rocnik, users):
return organizatori
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
jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá",
"Zákeřná", "Fyzikální"]
@ -219,6 +232,8 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
return
def gen_soustredeni(rnd, resitele, organizatori):
logger.info('Generuji soustředění...')
soustredeni = []
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))
@ -242,6 +257,8 @@ def gen_soustredeni(rnd, resitele, organizatori):
return soustredeni
def gen_rocniky(last_rocnik, size):
logger.info('Generuji ročníky (size={})...'.format(size))
rocniky = []
node = None
for ri in range(min(last_rocnik - size, 1), last_rocnik + 1):
@ -253,6 +270,8 @@ def gen_rocniky(last_rocnik, size):
return rocniky
def gen_konfery(size, rnd, organizatori, resitele, soustredeni):
logger.info('Generuji konfery (size={})...'.format(size))
konfery = []
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(
@ -275,6 +294,8 @@ def gen_konfery(size, rnd, organizatori, resitele, soustredeni):
return konfery
def gen_cisla(rnd, rocniky):
logger.info('Generuji čísla...')
rocnik_cisla = []
for rocnik in rocniky:
otec = True
@ -318,6 +339,8 @@ def gen_cisla(rnd, rocniky):
return rocnik_cisla
def gen_temata(rnd, rocniky, rocnik_cisla, organizatori):
logger.info('Generuji témata...')
jake = ["Hravé", "Fyzikální", "Nejlepší", "Totálně masakrální",
"Šokující", "Magnetické", "Modré", "Překvapivé",
"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):
logger.info('Generuji úlohy k tématům...')
# ulohy resene v cisle
jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá",
"Zákeřná", "Fyzikální"]
@ -457,6 +482,8 @@ def gen_ulohy_k_tematum(rnd, rocniky, rocnik_cisla, rocnik_temata, organizatori)
return
def gen_novinky(rnd, organizatori):
logger.info('Generuji novinky...')
jake = ["zábavné", "veselé", "dobrodružné", "skvělé"]
co = ["soustředění", "Fyziklání", "víkendové setkání"]
@ -478,6 +505,8 @@ def otec_syn(otec, syn):
@transaction.atomic
def create_test_data(size = 6, rnd = None):
logger.info('Vyrábím testovací data (size={})...'.format(size))
assert size >= 1
# pevna pseudo-nahodnost
rnd = rnd or random.Random(x=42)

Loading…
Cancel
Save