Navigating radio programs
[watersofshiloah] / src / index.py
1 from util import go_utils
2 import backend
3
4
5 class AudioIndex(object):
6
7         def __init__(self):
8                 self._backend = backend.Backend()
9                 self._indexing = go_utils.AsyncPool()
10
11         def start(self):
12                 self._indexing.start()
13
14         def stop(self):
15                 self._indexing.stop()
16
17         def download(self, func, on_success, on_error, *args, **kwds):
18                 self._indexing.clear_tasks()
19                 self._indexing.add_task(
20                         getattr(self._backend, func),
21                         args,
22                         kwds,
23                         on_success,
24                         on_error,
25                 )