# TODO:
# Add decorator to filter through history?
+# standard library import
+import logging
+
# local import
#from sima.lib.track import Track
When querying player music library for tracks, Player instance *must* return
Track objects (usually a list of them)
+
+ Player instance should expose the following immutable attributes:
+ * artists
+ * state
+ * current
+ * queue
+ * playlist
+ *
"""
def __init__(self):
- self.state = {}
- self.current = {}
+ super().__init__()
+ self.log = logging.getLogger('sima')
def monitor(self):
"""Monitor player for change
def find_album(self, artist, album):
"""
Find tracks by track's album name
- >>> player.find_track('Nirvana', 'Nevermind')
+ >>> player.find_album('Nirvana', 'Nevermind')
Returns a list of Track objects
"""
+ raise NotImplementedError
+
+ def find_albums(self, artist):
+ """
+ Find albums by artist's name
+ >>> player.find_alums('Nirvana')
+
+ Returns a list of string objects
+ """
+ raise NotImplementedError
+
+ def fuzzy_find_artist(self, artist):
+ """
+ Find artists based on a fuzzy search in the media library
+ >>> bea = player.fuzzy_find_artist('beatles')
+ >>> print(bea)
+ >>> ['The Beatles']
+
+ Returns a list of strings (artist names)
+ """
+ raise NotImplementedError
def disconnect(self):
"""Closing client connection with the Player
# VIM MODLINE
# vim: ai ts=4 sw=4 sts=4 expandtab
-