diff options
Diffstat (limited to 'modules/ships.py')
-rw-r--r-- | modules/ships.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/ships.py b/modules/ships.py new file mode 100644 index 0000000..0a296ca --- /dev/null +++ b/modules/ships.py @@ -0,0 +1,27 @@ +from . import tasks +from .database import cursor, conn + + +class Ship: + def __init__(self, symbol: str): + self.symbol = symbol + self.callsign = "-".split(symbol)[0] + + self.task = None + + def load_task(self): + cursor.execute("SELECT task, params FROM ships WHERE symbol = ?", (self.symbol,)) + row = cursor.fetchone() + if row is None: + cursor.execute("INSERT INTO ships (symbol, task, params) VALUES (?, ?, ?)", (self.symbol, tasks.IDLE, None)) + conn.commit() + + self.task = tasks.IDLE + else: + self.task = row[0] + + def set_task(self, task): + self.task = task + if task != tasks.ERROR: + cursor.execute("UPDATE ships SET task = ? WHERE symbol = ?", (task, self.symbol)) + conn.commit() |