1 # console interface to jamaui/jamaendo
3 # debugging hack - add . to path
5 local_module_dir = os.path.join(os.path.dirname(sys.argv[0]), '..')
6 if os.path.isdir(local_module_dir):
7 sys.path.append(local_module_dir)
10 from jamaui.player import Player, Playlist
14 gobject.threads_init()
18 pp = pprint.PrettyPrinter(indent=4)
22 class Console(object):
26 queries = ['albums_of_the_week', 'artists', 'albums']
28 getattr(self, "query_"+query)()
30 print "Valid queries: " + ", ".join(queries)
32 def query_albums_of_the_week(self):
33 result = jamaendo.albums_of_the_week()
34 pp.pprint([(a.ID, a.name) for a in result])
38 def query_artists(self):
39 result = jamaendo.search_artists(sys.argv[2])
40 pp.pprint([(a.ID, a.name) for a in result])
42 albums = jamaendo.get_albums(a.ID)
44 print "Playing album: %s - %s" % (a.name, album.name)
45 self.play_album(album)
47 def query_albums(self):
48 result = jamaendo.search_albums(sys.argv[2])
49 pp.pprint([(a.ID, a.name) for a in result])
53 def play_tracks(self, tracks):
54 playlist = Playlist(tracks)
58 while player.playing():
61 except KeyboardInterrupt:
64 def play_album(self, album):
67 print "%s - %s" % (album.artist_name, album.name)
69 self.play_tracks(album.tracks)
71 if __name__=="__main__":