Skip to content
Snippets Groups Projects
Commit f2c19a28 authored by Martin Mareš's avatar Martin Mareš
Browse files

parse_points na None vrátí také None

Může nastat při vyplňování bodů do formulářů.
parent 8f87d0a9
No related branches found
No related tags found
No related merge requests found
...@@ -136,16 +136,16 @@ def normalize_grade(grade: str) -> int: ...@@ -136,16 +136,16 @@ def normalize_grade(grade: str) -> int:
def parse_points( def parse_points(
raw_points: str, for_task: Optional[db.Task] = None, for_round: Optional[db.Round] = None, raw_points: Optional[str], for_task: Optional[db.Task] = None, for_round: Optional[db.Round] = None,
) -> Tuple[Optional[decimal.Decimal], Optional[str]]: ) -> Tuple[Optional[decimal.Decimal], Optional[str]]:
"""Naparsuje a zkontroluje body. Vrátí body (jako decimal.Decimal nebo None """Naparsuje a zkontroluje body. Vrátí body (jako decimal.Decimal nebo None
při prázdných bodech) a případný error (None pokud nenastal, jinak text chyby).""" při prázdných bodech) a případný error (None pokud nenastal, jinak text chyby)."""
if raw_points == "": if not raw_points or raw_points == "":
return None, None return None, None
try: try:
points = decimal.Decimal(raw_points.replace(',', '.')) points = decimal.Decimal(raw_points.replace(',', '.'))
except decimal.InvalidOperation: except decimal.InvalidOperation:
return 0, f"Hodnota '{raw_points}' není číslo" return decimal.Decimal(0), f"Hodnota '{raw_points}' není číslo"
return points, check_points(points, for_task, for_round) return points, check_points(points, for_task, for_round)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment