diff --git a/mo/util.py b/mo/util.py index dab552fbab7e7fd7d9bdf7fb889a05f036cdefda..c3f08738fb79922b195df94c3d4b1964f4c13f29 100644 --- a/mo/util.py +++ b/mo/util.py @@ -136,16 +136,16 @@ def normalize_grade(grade: str) -> int: 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]]: """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).""" - if raw_points == "": + if not raw_points or raw_points == "": return None, None try: points = decimal.Decimal(raw_points.replace(',', '.')) 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)