-#!/usr/bin/env python
-
-# debugging hack - add . to path
-import os, sys
-local_module_dir = os.path.join(os.path.dirname(sys.argv[0]), '..')
-if os.path.isdir(local_module_dir):
- sys.path.append(local_module_dir)
-
-from jamaendo.api import LocalDB, Queries, refresh_dump
-import time
-
-class Refresher(object):
- def __init__(self):
- self.done = False
- self.last_percent = 0
- print "..."
- def complete(self):
- print "Done."
- self.done = True
- def progress(self, percent):
- if percent - self.last_percent >= 5:
- print "\r%d%%" % (percent),
- self.last_percent = percent
-
- def run(self):
- refresh_dump(self.complete, self.progress, force=False)
- while not self.done:
- time.sleep(1)
-
-
-def pprint(x):
- import simplejson
- print simplejson.dumps(x, sort_keys=True, indent=4)
-
-def main():
- Refresher().run()
-
- query = sys.argv[1]
-
- if query == 'today':
- result = Queries.albums_today()
- pprint(result)
- elif query == 'tracks_this_month':
- result = Queries.tracks_this_month()
- pprint(result)
- elif query == 'artist':
- q = sys.argv[2]
- db = LocalDB()
- db.connect()
- for artist in db.search_artists(q):
- pprint(artist)
- elif query == 'album':
- q = sys.argv[2]
- db = LocalDB()
- db.connect()
- for album in db.search_albums(q):
- pprint(album)
-
-if __name__=="__main__":
- main()