diff options
Diffstat (limited to 'lib/xas/status.py')
-rw-r--r-- | lib/xas/status.py | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/lib/xas/status.py b/lib/xas/status.py deleted file mode 100644 index 1465616..0000000 --- a/lib/xas/status.py +++ /dev/null @@ -1,88 +0,0 @@ -import sqlite3 - -class StatusType(): - def __init__(self, id, name): - self.id = id - self.name = name - - def __str__(self): - return self.name - -class ErrorType(StatusType): - pass - -class Status(): - def __init__(self, id: int, typeobj: StatusType, description: str): - self.id = id - self.typeobj = typeobj - self.description = description - - def __str__(self): - return self.description - -class Error(Status): - pass - -class Database(): - def __init__(self, filename: str): - self.db = sqlite3.connect(filename) - self.db.row_factory = sqlite3.Row - - self.statusTypes = dict() - self.statuses = dict() - - self.errorTypes = dict() - self.errors = dict() - - self.load_types() - self.load_statuses() - - def load_types(self): - targets = { - "xas_status_type": (StatusType, self.statusTypes), - "xas_error_type": (ErrorType, self.errorTypes) - } - - for table in targets.keys(): - typeof = targets[table][0] - target = targets[table][1] - - cr = self.db.cursor() - cr.execute(f"select id, name from {table}") - - for row in cr.fetchall(): - typeobj = typeof(row['id'], row['name']) - - target[typeobj.id] = typeobj - - def status_type(self, id: int): - return self.statusTypes[id] - - def error_type(self, id: int): - return self.errorTypes[id] - - def load_statuses(self): - targets = { - "xas_status": (Status, self.statusTypes, self.statuses), - "xas_error": (Error, self.errorTypes, self.errors) - } - - for table in targets.keys(): - typeof = targets[table][0] - types = targets[table][1] - target = targets[table][2] - - cr = self.db.cursor() - cr.execute(f"select id, type_id, description from {table}") - - for row in cr.fetchall(): - typeobj = types[row['type_id']] - obj = typeof(row['id'], types[row['type_id']], row['description']) - - target[obj.id] = obj - - def status(self, id): - return self.statuses[id] - - def error(self, id): - return self.errors[id] |