37 lines
961 B
Python
37 lines
961 B
Python
from typing import List
|
|
|
|
|
|
ISSUE_UNKNOWN_INGREDIENT = "unknown-ingredient"
|
|
ISSUE_DUPLICATE_UNITS = "duplicate-units"
|
|
ISSUE_KNOWN_PRICE_UNKNOWN_CONVERSION = "known-price-unknown-conversion"
|
|
ISSUE_UNKNOWN_UNIT = "unknown-unit"
|
|
|
|
|
|
class Issue:
|
|
def __init__(self, id: str, msg: str) -> None:
|
|
self.id = id
|
|
self.msg = msg
|
|
|
|
|
|
class Issues:
|
|
def __init__(self) -> None:
|
|
self.errors: List[Issue] = []
|
|
self.warnings: List[Issue] = []
|
|
|
|
def error(self, id: str, msg: str) -> None:
|
|
self.errors.append(Issue(id, msg))
|
|
|
|
def warn(self, id: str, msg: str) -> None:
|
|
self.warnings.append(Issue(id, msg))
|
|
|
|
def check(self) -> int:
|
|
retcode = len(self.errors) != 0
|
|
|
|
for msg in self.errors:
|
|
print(f"ERROR {msg.id}: {msg.msg}")
|
|
for msg in self.warnings:
|
|
print(f"WARNING {msg.id}: {msg.msg}")
|
|
|
|
self.errors.clear()
|
|
self.warnings.clear()
|
|
return retcode
|