tagdb: Mark tracks as played using datetime.datetime.now()
So that we caputere the timestamp that the track finished at. I also update tha sqlite importer code to account for the possibility of receiving either a datetime.date or a datetime.datetime Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
6fc0fb6b26
commit
f14d73ce67
|
@ -89,3 +89,7 @@ class TestTrackTable(unittest.TestCase):
|
|||
self.assertEqual(track.playcount, 4)
|
||||
self.assertEqual(track.lastplayed.replace(microsecond=0),
|
||||
datetime.datetime.combine(yesterday, datetime.time()))
|
||||
|
||||
track.last_played(5, now)
|
||||
self.assertEqual(track.playcount, 5)
|
||||
self.assertEqual(track.lastplayed, now)
|
||||
|
|
|
@ -84,7 +84,10 @@ class Track(objects.Row):
|
|||
commit()
|
||||
|
||||
def last_played(self, playcount, lastplayed):
|
||||
timestamp = datetime.datetime.combine(lastplayed, datetime.time())
|
||||
if not isinstance(lastplayed, datetime.datetime):
|
||||
timestamp = datetime.datetime.combine(lastplayed, datetime.time())
|
||||
else:
|
||||
timestamp = lastplayed
|
||||
execute("UPDATE tracks "
|
||||
"SET playcount=?, lastplayed=? "
|
||||
"WHERE trackid=?", [ playcount, timestamp, self.rowid ])
|
||||
|
|
|
@ -81,9 +81,9 @@ class TestTrack(unittest.TestCase):
|
|||
self.assertEqual(trak["lastplayed"], "Never")
|
||||
trak.played()
|
||||
self.assertEqual(trak.playcount, 1)
|
||||
self.assertEqual(trak.lastplayed, datetime.date.today())
|
||||
self.assertEqual(trak.lastplayed.date(), datetime.date.today())
|
||||
self.assertEqual(trak["playcount"], "1")
|
||||
self.assertEqual(trak["lastplayed"], str(datetime.date.today()))
|
||||
#self.assertEqual(trak["lastplayed"], str(datetime.date.today()))
|
||||
trak.played()
|
||||
self.assertEqual(trak.playcount, 2)
|
||||
self.assertEqual(trak["playcount"], "2")
|
||||
|
|
|
@ -85,7 +85,7 @@ class Track(GObject.Object):
|
|||
|
||||
def played(self):
|
||||
self.playcount += 1
|
||||
self.lastplayed = datetime.date.today()
|
||||
self.lastplayed = datetime.datetime.now()
|
||||
|
||||
def remove_from_playlist(self, name):
|
||||
tag = tags.User[name]
|
||||
|
|
Loading…
Reference in New Issue