Cuprins
Modul folosit pentru exportarea informațiilor din baza de date în fișiere spreadsheet. Un exemplu de fișier de ieșire este acesta.
Responsabil: Daniel
Model de structura intermediara intre Database gatherer si Logic module
Structura pentru persoana (Input)
| Camp | Sursa | Tip | Baza selectie |
| an | config | int | (intrare) |
| profesor | config | string | (intrare) |
| luni | [nestabilit] | lista de int | fix(la 20/07/2009) |
| catedra | config | string | (intrare) |
| facultatea | config | string | (intrare) |
| universitate | config | string | (intrare) |
| functie_baza | materia | string | profesor -> prima intrare Ore:pers_acoperit -> Ore:link_disc -> Discipline:nume |
| titular_curs | materie | string | profesor -> prima intrare Ore:pers_acoperit -> Ore:link_disc + an + serie -> Titulari:nume |
| sef_catedra | catedra | string | catedra -> Catedre:sef |
| decan | facultate | string | facultate -> Facultati:decan |
| ore | v. mai jos | lista de structuri de tip course | profesor -> Ore |
Structura pentru un curs sau laborator (Course)
| Camp | Sursa | Tip | Baza selectie |
| facultate | facultati | string | profesor -> Ore:pers_acoperit -> Ore:link_disc -> Discipline:link_fac -> Facultati:nume_scurt |
| disciplina | discipline | string | profesor -> Ore:pers_acoperit -> Ore:link_disc -> Discipline:nume_scurt |
| functie | ore:grad_post | string | profesor -> Ore:pers_acoperit -> Ore:grad_post |
| nr_post | ore:nr_post | int | profesor -> Ore:pers_acoperit -> Ore:nr_post |
| tip | ore:tip_ora | char | profesor -> Ore:pers_acoperit -> Ore:tip_ora |
| grupa | ore:an_grupa | string | profesor -> Ore:pers_acoperit -> Ore:an_grupa |
| zi | ore:zi | int | profesor -> Ore:pers_acoperit -> Ore:zi |
| ore | ore:ora | string | profesor -> Ore:pers_acoperit -> Ore:ora |
| parit | ore:paritate | int | profesor -> Ore:pers_acoperit -> Ore:paritate |
| pari_stt | ore:paritate_start | int | profesor -> Ore:pers_acoperit -> Ore:paritate_start |
Structura pt vacante
| Camp | Sursa | Tip | Baza selectie |
| - | vacante | lista de perechi (data_start, data_stop) | integral |
Observatie: Avand in vedere ca vacantele sunt unice pentru toti profesorii s-ar putea pastra local intr-un fisier de configurare aceasta structura, pentru a evita interogarea inutila a bazei de date.
Fisier de configurare an-paritate (parity.pkl)
Se construieste de catre modulul parity.py Contine o structura continand pentru fiecare saptamana numarul de ordine ISO si numarul de ordine din semestrul curent. Un numar de ordine in semestru nepozitiv arata ca acea saptamana nu face parte din semestru / este cuprinsa integral intr-o vacanta. Structura este un dictionar python si este salvata in formatul binar corespunzator (v. pickle )
Ideal, fisierul parity.pkl ar trebui reconstruit de fiecare data cand se modifica tabela Vacante sau tabela Universitati
Module Python folosite
Pentru fiecare modul sunt indicate modulele nestandard folosite (cele care nu fac parte din kitul de instalare default)
dummy_writer.py
Modul de scriere propriu-zisa in format Excel
N.B.: Necesita modulul xlwt (v. Documentare )
logic_proto.py
Modul de calcul si formatare a datelor dintr-un fisier de iesire
N.B.: Necesita modulul dummy_writer.py
db_gather.py
Modul de interogare a bazei de date si alcatuire a structurii intermediare
N.B.: Necesita modulul MySQLdb (v . Documentare) si modulul logic_proto.py
call.py
Modul apelabil in linie de comanda pentru scrierea de tabele pentru mai multi utilizatori (eventual arhivare)
N.B.: Necesita modulul db_gather.py
parity.py
Modul de interogare a bazei de date pentru obtinerea fisierului de configurare a paritatii
N.B.: Necesita modulul MySQLdb (v . Documentare)
Responsabil: Daniel