Now able to display the list of 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_radio(self, on_success, on_error, *ids):
18                 self._indexing.clear_tasks()
19                 if ids:
20                         assert len(ids) == 1
21                         self._indexing.add_task(
22                                 self._backend.get_radio_channel_programming,
23                                 (ids[0], ),
24                                 {},
25                                 on_success,
26                                 on_error,
27                         )
28                 else:
29                         self._indexing.add_task(
30                                 self._backend.get_radio_channels,
31                                 (),
32                                 {},
33                                 on_success,
34                                 on_error,
35                         )