curds: Implement a track.decade() function
We could figure this out in the decade playlist code, but it's easier to just do it inside the track itself. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
409ce6706c
commit
cac252cc17
|
@ -5,9 +5,6 @@ from .. import notify
|
|||
|
||||
DECADE_ICON = "x-office-calendar"
|
||||
|
||||
def decade(year):
|
||||
return f"{int(year) // 10 * 10}s"
|
||||
|
||||
|
||||
class DecadePlaylist(playlist.Playlist):
|
||||
def alloc_child(self, name, icon):
|
||||
|
@ -31,4 +28,4 @@ class DecadeNode(node.PlaylistNode):
|
|||
[ "date", "artist", "album", "discnumber", "tracknumber" ])
|
||||
|
||||
def new_track(self, track):
|
||||
self.find_child(decade(track["date"]), DECADE_ICON).add(track)
|
||||
self.find_child(track.decade(), DECADE_ICON).add(track)
|
||||
|
|
|
@ -17,11 +17,6 @@ class TestDecadePlaylist(unittest.TestCase):
|
|||
notify.clear()
|
||||
trak.reset()
|
||||
|
||||
def test_decade(self):
|
||||
self.assertEqual(decade.decade( 1971), "1970s")
|
||||
self.assertEqual(decade.decade( 1989), "1980s")
|
||||
self.assertEqual(decade.decade("2222"), "2220s")
|
||||
|
||||
def test_decade_node(self):
|
||||
dnode = decade.DecadeNode()
|
||||
self.assertIsInstance(dnode, node.PlaylistNode)
|
||||
|
|
|
@ -49,6 +49,12 @@ class TestTrackTag(unittest.TestCase):
|
|||
self.assertEqual(t.tracknumber, 0)
|
||||
self.assertEqual(t.tracktotal, 0)
|
||||
|
||||
def test_track_decade(self):
|
||||
t = track.Track(os.path.join(test_tracks, "01 - Test Track.ogg"))
|
||||
self.assertEqual(t.decade(), "2010s")
|
||||
t.date = 1975
|
||||
self.assertEqual(t.decade(), "1970s")
|
||||
|
||||
def test_track_getitem(self):
|
||||
p = [ test_tracks, "01 - Test Track.ogg" ]
|
||||
t = track.Track(os.path.join(*p))
|
||||
|
|
|
@ -3,6 +3,7 @@ from . import tagfile
|
|||
from .. import notify
|
||||
from .. import sort
|
||||
import os
|
||||
import sys
|
||||
|
||||
class Track:
|
||||
def __init__(self, path):
|
||||
|
@ -31,6 +32,9 @@ class Track:
|
|||
item = vars(self).get(key)
|
||||
return str(item) if item != None else None
|
||||
|
||||
def decade(self):
|
||||
return f"{self.date // 10 * 10}s"
|
||||
|
||||
def sort_key(self, fields):
|
||||
ret = [ ]
|
||||
for field in fields:
|
||||
|
|
Loading…
Reference in New Issue