trackdb: Turn Tracks into GObjects

So they can be returned directly by the ListModel

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-06-29 13:59:50 -04:00
parent 7b204f2d1b
commit eb163b27bb
2 changed files with 6 additions and 1 deletions

View File

@ -1,5 +1,6 @@
# Copyright 2020 (c) Anna Schumaker.
from lib import publisher
from gi.repository import GObject
from . import tags
from . import track
import datetime
@ -24,6 +25,7 @@ class TestTrack(unittest.TestCase):
trak = track.Track(1, test_tracks / "01 - Test Track.ogg", self.lib)
self.assertEqual(trak.trackid, 1)
self.assertEqual(trak.filepath(), test_tracks / "01 - Test Track.ogg")
self.assertIsInstance(trak, GObject.Object)
def test_track_album(self):
trak = track.Track(1, test_tracks / "01 - Test Track.ogg", self.lib)

View File

@ -2,10 +2,12 @@
from lib import metadata
from lib import publisher
from . import tags
from gi.repository import GObject
import datetime
class Track:
class Track(GObject.Object):
def __init__(self, trackid, filepath, library):
GObject.Object.__init__(self)
self.trackid = trackid
self.path = filepath.relative_to(library.name)
self.library = library
@ -54,6 +56,7 @@ class Track:
return state
def __setstate__(self, state):
GObject.Object.__init__(self)
self.__dict__.update(state)
def __set_tags__(self):