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)])
Exemple #2
0
 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)])
Exemple #5
0
 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)])