lib: Give Tags __getitem__() support
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
6e1da0f7b4
commit
7b204f2d1b
|
@ -17,6 +17,12 @@ class Tag:
|
|||
self.TrackAdded = publisher.Publisher()
|
||||
self.TrackRemoved = publisher.Publisher()
|
||||
|
||||
def __getitem__(self, n):
|
||||
with self.lock:
|
||||
if n < len(self.tracks):
|
||||
return self.tracks[n]
|
||||
return None
|
||||
|
||||
def __getstate__(self):
|
||||
with self.lock:
|
||||
return { "name" : self.name,
|
||||
|
|
|
@ -98,12 +98,15 @@ class TestTag(unittest.TestCase):
|
|||
t = tag.Tag("test")
|
||||
t.TrackAdded.register(self.callback_func)
|
||||
|
||||
self.assertIsNone(t[0])
|
||||
t.add_track(fake.Track(1))
|
||||
self.assertEqual(t[0], fake.Track(1))
|
||||
self.assertEqual(t.tracks, [ fake.Track(1) ])
|
||||
self.assertEqual(self.changed, (t, fake.Track(1), 0))
|
||||
self.assertEqual(t.runtime, 1)
|
||||
|
||||
t.add_track(fake.Track(2))
|
||||
self.assertEqual(t[1], fake.Track(2))
|
||||
self.assertEqual(t.tracks, [ fake.Track(1), fake.Track(2) ])
|
||||
self.assertEqual(self.changed, (t, fake.Track(2), 1))
|
||||
self.assertEqual(t.runtime, 3)
|
||||
|
|
Loading…
Reference in New Issue