# Copyright 2021 (c) Anna Schumaker. # # Table: decades # +----------+--------+ # | decadeid | decade | # +----------+--------+ from gi.repository import GObject from . import execute from . import objects from . import year class Decade(objects.Row): def __gt__(self, rhs): return self.decade > rhs.decade def __lt__(self, rhs): return self.decade < rhs.decade def __str__(self): return f"{self.decade}s" def do_get_column(self, column): return execute(f"SELECT {column} FROM decades " "WHERE decadeid=?", [ self.rowid ]) def years(self): cursor = execute(f"SELECT yearid FROM years " "WHERE decadeid=?", [ self.rowid ]) return [ year.Year(row["yearid"]) for row in cursor.fetchall() ] @GObject.Property def decade(self): return self.get_column("decade") class DecadeTable(objects.Table): def __init__(self): objects.Table.__init__(self, "decades", Decade) def do_create(self): execute("CREATE TABLE IF NOT EXISTS decades " "(decadeid INTEGER PRIMARY KEY, " " decade INTEGER UNIQUE)") def do_insert(self, decade): return execute("INSERT INTO decades (decade) " "VALUES (?)", (decade,)) def do_delete(self, decade): return execute("DELETE FROM decades WHERE decadeid=?", [ int(decade) ]) def do_get(self, rowid): return execute("SELECT decadeid FROM decades " "WHERE decadeid=?", [ rowid ]) def do_lookup(self, decade): return execute("SELECT decadeid FROM decades " "WHERE decade=?", [ decade ]) Table = DecadeTable()