diff --git a/db/test_track.py b/db/test_track.py index 46c8572..a77421f 100644 --- a/db/test_track.py +++ b/db/test_track.py @@ -77,13 +77,15 @@ class TestTrackTable(unittest.TestCase): def test_track_played(self): track = db.make_fake_track(1, 1.234, "Test Title", "/a/b/c/d.efg") - today = datetime.date.today() - yesterday = today - datetime.timedelta(days=1) + now = datetime.datetime.now() + yesterday = datetime.date.today() - datetime.timedelta(days=1) track.played() self.assertEqual(track.playcount, 1) - self.assertEqual(track.lastplayed, today) + self.assertEqual(track.lastplayed.replace(microsecond=0), + now.replace(microsecond=0)) track.last_played(4, yesterday) self.assertEqual(track.playcount, 4) - self.assertEqual(track.lastplayed, yesterday) + self.assertEqual(track.lastplayed.replace(microsecond=0), + datetime.datetime.combine(yesterday, datetime.time())) diff --git a/db/track.py b/db/track.py index 1333cb3..9447515 100644 --- a/db/track.py +++ b/db/track.py @@ -80,14 +80,14 @@ class Track(objects.Row): def played(self): execute("UPDATE tracks " "SET playcount=playcount+1, lastplayed=? " - "WHERE trackid=?", [ datetime.date.today(), self.rowid ]) + "WHERE trackid=?", [ datetime.datetime.now(), self.rowid ]) commit() - def last_played(self, playcount, lastplayed): + timestamp = datetime.datetime.combine(lastplayed, datetime.time()) execute("UPDATE tracks " "SET playcount=?, lastplayed=? " - "WHERE trackid=?", [ playcount, lastplayed, self.rowid ]) + "WHERE trackid=?", [ playcount, timestamp, self.rowid ]) commit() @@ -106,7 +106,7 @@ class TrackTable(objects.Table): " yearid INTEGER, " " number INTEGER, " " playcount INTEGER DEFAULT 0," - " lastplayed DATE DEFAULT NULL, " + " lastplayed TIMESTAMP DEFAULT NULL, " " length REAL, " " title TEXT, " " path TEXT UNIQUE, "