trackdb: Create a UserTagStore and add it to the tag state tuple

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-07-07 09:11:22 -04:00
parent ad36293335
commit 9e78b12eb0
2 changed files with 18 additions and 4 deletions

View File

@ -1,4 +1,5 @@
# Copyright 2021 (c) Anna Schumaker.
from . import user
from lib import tagstore
Artist = tagstore.TagStore()
@ -6,22 +7,25 @@ Album = tagstore.TagSuperStore()
Genre = tagstore.TagStore()
Decade = tagstore.TagStore()
Year = tagstore.TagSuperStore()
User = user.UserTagStore()
def get_state():
return (Artist, Album, Genre, Decade, Year)
return (Artist, Album, Genre, Decade, Year, User)
def set_state(artist, album, genre, decade, year):
def set_state(artist, album, genre, decade, year, user):
global Artist
global Album
global Genre
global Decade
global Year
global User
Artist = artist
Album = album
Genre = genre
Decade = decade
Year = year
User = user
def reset():
Artist.reset()
@ -29,3 +33,4 @@ def reset():
Genre.reset()
Decade.reset()
Year.reset()
User.reset()

View File

@ -1,6 +1,7 @@
# Copyright 2021 (c) Anna Schumaker.
from lib import tagstore
from . import tags
from . import user
import unittest
class TestTags(unittest.TestCase):
@ -13,29 +14,37 @@ class TestTags(unittest.TestCase):
self.assertIsInstance(tags.Genre, tagstore.TagStore)
self.assertIsInstance(tags.Decade, tagstore.TagStore)
self.assertIsInstance(tags.Year, tagstore.TagSuperStore)
self.assertIsInstance(tags.User, user.UserTagStore)
def test_tags_reset(self):
tags.Artist.store = {"a" : 1 }
tags.Album.store = {("a", "b") : 2 }
tags.Genre.store = {"c" : 3 }
tags.Decade.store = {"d" : 4 }
tags.User.store = {"e" : 5 }
tags.reset()
self.assertEqual(tags.Artist.store, { })
self.assertEqual(tags.Album.store, { })
self.assertEqual(tags.Genre.store, { })
self.assertEqual(tags.Decade.store, { })
self.assertIsNotNone(tags.User["Collection"])
self.assertIsNotNone(tags.User["Up Next"])
self.assertIsNotNone(tags.User["Previous"])
self.assertIsNotNone(tags.User["Favorites"])
self.assertIsNotNone(tags.User["Up Next"])
def test_tags_state(self):
state = tags.get_state()
self.assertEqual(state, ( tags.Artist, tags.Album, tags.Genre,
tags.Decade, tags.Year ))
tags.Decade, tags.Year, tags.User ))
tags.set_state(*(1, 2, 3, 4, 5))
tags.set_state(*(1, 2, 3, 4, 5, 6))
self.assertEqual(tags.Artist, 1)
self.assertEqual(tags.Album, 2)
self.assertEqual(tags.Genre, 3)
self.assertEqual(tags.Decade, 4)
self.assertEqual(tags.Year, 5)
self.assertEqual(tags.User, 6)
tags.set_state(*state)