def display_music_directory(self, songs, done=True): for song in songs: if type(song) is dict: cover_art = self.get_cover_art_url(song.get('coverArt', None)) if song['isDir']: Addon.add_album(song, cover_art) else: Addon.add_song(song, cover_art) if done: Addon.end_of_directory()
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()