from typing import Dict from . import task_type from .database import cursor, conn class Ship: def __init__(self, symbol: str): self.symbol = symbol self.callsign = "-".split(symbol)[0] self.task = None self.name = None def get_data(self) -> Dict: return {"name": self.name, "symbol": self.symbol, "task": self.task} def load_task(self): cursor.execute("SELECT name, task, params FROM ships WHERE symbol = ?", (self.symbol,)) row = cursor.fetchone() if row is None: cursor.execute("INSERT INTO ships (symbol, task, params, name) VALUES (?, ?, ?, ?)", (self.symbol, task_type.IDLE, None, self.symbol)) conn.commit() self.task = task_type.IDLE self.task = self.symbol else: self.name = row[0] self.task = row[1] def set_task(self, task): self.task = task if task != task_type.ERROR: cursor.execute("UPDATE ships SET task = ? WHERE symbol = ?", (task, self.symbol)) conn.commit() def rename(self, name): self.name = name cursor.execute("UPDATE ships SET name = ? WHERE symbol = ?", (name, self.symbol)) conn.commit()