db: Add a function so Decades can list their Years

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-08-18 14:42:35 -04:00
parent 2af61f8787
commit 63e2e6473d
2 changed files with 12 additions and 0 deletions

View File

@ -7,6 +7,7 @@
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
@ -17,6 +18,11 @@ class Decade(objects.Row):
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")

View File

@ -49,3 +49,9 @@ class TestDecadeTable(unittest.TestCase):
self.assertFalse(d2010 > d2020)
self.assertFalse(d2020 < d2010)
def test_decade_years(self):
decade = db.decade.Table.insert(2020)
y2020 = db.year.Table.insert(2020)
y2021 = db.year.Table.insert(2021)
self.assertEqual(decade.years(), [ y2020, y2021 ])