def get_indexes(self, folder_id): xbmc.log('get_indexes: ' + folder_id) payload = self.__get_json('getIndexes.view', {'musicFolderId': folder_id}) if payload: indexes = payload['indexes'].get('index', False) shortcuts = self.listify(payload['indexes'].get('shortcut', False)) if indexes: index = [] if shortcuts: [Addon.add_artist(s) for s in shortcuts if type(s) is dict] [index.extend(i) for i in [self.listify(i['artist']) for i in self.listify(indexes)]] [Addon.add_artist(i) for i in index if type(i) is dict] Addon.end_of_directory() else: Addon.show_dialog([Addon.get_string(30030)])
def get_indexes(self, folder_id): xbmc.log('get_indexes: ' + folder_id) payload = self.__get_json('getIndexes.view', {'musicFolderId': folder_id}) if payload: indexes = payload['indexes'].get('index', False) shortcuts = self.listify(payload['indexes'].get('shortcut', False)) if indexes: index = [] if shortcuts: [Addon.add_artist(s) for s in shortcuts if type(s) is dict] [ index.extend(i) for i in [self.listify(i['artist']) for i in self.listify(indexes)] ] [Addon.add_artist(i) for i in index if type(i) is dict] Addon.end_of_directory() else: Addon.show_dialog([Addon.get_string(30030)])
def get_indexes(self, folder_id): Addon.log('get_indexes: ' + folder_id) payload = self.__get_json('getIndexes.view', {'musicFolderId': folder_id}) if payload: indexes = payload['indexes'].get('index', False) children = payload['indexes'].get('child', False) shortcuts = self.listify(payload['indexes'].get('shortcut', False)) if not indexes and not shortcuts and not children: Addon.show_dialog([Addon.get_string(30030)]) items = [] if indexes: for index in indexes: for artist in index['artist']: if type(artist) is dict: items.append((artist, 'index')) if shortcuts: for s in shortcuts: if type(s) is dict: index.append((s, 'shortcut')) if children: for child in children: if type(child) is dict: if child['isDir']: items.append((child, 'child-dir')) else: items.append((child, 'child-file')) items.sort(cmp=Subsonic.compare) for item in items: if item[1] in set(('index', 'shortcut', 'child-dir')): Addon.add_artist(item[0]) else: Addon.add_song(item[0]) Addon.end_of_directory()
def search(self, search_mode, query): xbmc.log('search: ' + query) queries = {'query': query, 'albumCount': 0, 'artistCount': 0, 'songCount': 0} queries[search_mode + 'Count'] = 999 payload = self.__get_json('search2.view', queries) if payload: if payload['searchResult2']: items = self.listify(payload['searchResult2'][search_mode]) if search_mode == 'artist': [Addon.add_artist(i) for i in items if type(i) is dict] Addon.end_of_directory() else: self.display_music_directory(items) else: Addon.show_dialog([Addon.get_string(30010)])
def search(self, search_mode, query): xbmc.log('search: ' + query) queries = { 'query': query, 'albumCount': 0, 'artistCount': 0, 'songCount': 0 } queries[search_mode + 'Count'] = 999 payload = self.__get_json('search2.view', queries) if payload: if payload['searchResult2']: items = self.listify(payload['searchResult2'][search_mode]) if search_mode == 'artist': [Addon.add_artist(i) for i in items if type(i) is dict] Addon.end_of_directory() else: self.display_music_directory(items) else: Addon.show_dialog([Addon.get_string(30010)])