Skip to content
Snippets Groups Projects
Commit 5df7fe62 authored by Jiří Setnička's avatar Jiří Setnička
Browse files

Funkce na normalizaci ročníku

Normalizujeme na rok školní docházky. Nutné pro jednoznačné řazení výsledkovek.
parent 19383549
No related branches found
No related tags found
1 merge request!33Výsledkové listiny - backend modul & pravidla MO
......@@ -184,3 +184,25 @@ def unlink_if_exists(name: str):
os.unlink(name)
except FileNotFoundError:
pass
def normalize_grade(grade: str) -> int:
"""Pokusí se převést třídu ve formátu 7 nebo 3/4 na číslo odpovídající
třídě na základní škole (maturitní ročník gymnázia je tedy 9+4 = 13).
* Základní škola: nic
* Gymnázia: /8, /6 nebo /4
* Nerozpoznané ročníky a chyby při převodu: -1"""
try:
parts = grade.split('/')
if len(parts) == 1:
return int(parts[0])
if len(parts) > 2:
return -1
year = int(parts[0])
school_type = int(parts[1])
if school_type in (8, 6, 4):
return year + 13 - school_type
else:
return -1
except ValueError:
return -1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment