Пример #1
0
 def __init__(self, parent=None, parameters=None):
     super(Node_purchases, self).__init__(parent, parameters)
     self.label = lang(30100)
     self.nt = Flag.PURCHASES
     self.content_type = 'albums'
     self.image = getImage('album')
     self.offset = self.get_parameter('offset') or 0
Пример #2
0
 def __init__(self, parent=None, parameters=None):
     super(Node_article_rubrics, self).__init__(parent, parameters)
     self.nt = Flag.ARTICLE_RUBRICS
     self.rubric_id = self.get_parameter('qid')
     self.is_folder = True
     self.image = getImage('album')
     self.offset = self.get_parameter('offset') or 0
Пример #3
0
 def search_type(self, st):
     if st == 'artists':
         self.label = lang(30015)
         self.content_type = 'files'
         self.image = getImage('artist')
     elif st == 'albums':
         self.label = lang(30014)
         self.content_type = 'albums'
         self.image = getImage('album')
     elif st == 'tracks':
         self.label = lang(30013)
         self.content_type = 'songs'
         self.image = getImage('song')
     else:
         raise QobuzXbmcError(who=self, what='invalid_type', additional=st)
     self._search_type = st
Пример #4
0
 def __init__(self, parent=None, parameters=None):
     super(Node_label, self).__init__(parent, parameters)
     self.nt = Flag.LABEL
     self.set_label(lang(30188))
     self.url = None
     self.is_folder = True
     self.image = getImage('album')
Пример #5
0
    def __init__(self, parent, params):
        super(Node_album, self).__init__(parent, params)
        self.nt = Flag.ALBUM
        self.image = getImage('album')
        self.content_type = 'songs'
        self.is_special_purchase = False
        self.offset = None
        self.imageDefaultSize = 'large'
        self.label = 'Album'
        try:
            self.imageDefaultSize = getSetting('image_default_size')
        except:
            pass

        @property
        def nid(self):
            return self._nid

        @nid.getter  # @IgnorePep8
        def nid(self):
            return self._nid

        @nid.setter  # @IgnorePep8
        def nid(self, value):
            self._id = value
            if value in SPECIAL_PURCHASES:
                self.is_special_purchase = True
Пример #6
0
 def __init__(self, parent=None, parameters=None):
     super(Node_article_rubrics, self).__init__(parent, parameters)
     self.nt = Flag.ARTICLE_RUBRICS
     self.rubric_id = self.get_parameter('qid')
     self.is_folder = True
     self.image = getImage('album')
     self.offset = self.get_parameter('offset') or 0
Пример #7
0
 def __init__(self, parent=None, parameters=None):
     super(Node_genre, self).__init__(parent, parameters)
     self.nt = Flag.GENRE
     self.set_label(lang(30189))
     self.is_folder = True
     self.image = getImage("album")
     self.offset = self.get_parameter("offset") or 0
Пример #8
0
 def __init__(self, parent=None, parameters=None):
     super(Node_collections, self).__init__(parent, parameters)
     self.nt = Flag.COLLECTIONS
     self.set_label('Collections')
     self.url = None
     self.is_folder = True
     self.image = getImage('songs')
Пример #9
0
 def __init__(self, parent=None, parameters=None):
     super(Node_public_playlists, self).__init__(parent, parameters)
     self.nt = Flag.PUBLIC_PLAYLISTS
     self.set_label(lang(42102))
     self.is_folder = True
     self.image = getImage("userplaylists")
     self.offset = self.get_parameter("offset") or 0
Пример #10
0
 def search_type(self, st):
     if st == 'artists':
         self.label = lang(30015)
         self.content_type = 'files'
         self.image = getImage('artist')
     elif st == 'albums':
         self.label = lang(30014)
         self.content_type = 'albums'
         self.image = getImage('album')
     elif st == 'tracks':
         self.label = lang(30013)
         self.content_type = 'songs'
         self.image = getImage('song')
     else:
         raise QobuzXbmcError(who=self, what='invalid_type', additional=st)
     self._search_type = st
Пример #11
0
 def __init__(self, parent=None, parameters=None):
     super(Node_genre, self).__init__(parent, parameters)
     self.nt = Flag.GENRE
     self.set_label(lang(42101))
     self.is_folder = True
     self.image = getImage('album')
     self.offset = self.get_parameter('offset') or 0
Пример #12
0
 def __init__(self, parent=None, parameters=None):
     super(Node_genre, self).__init__(parent, parameters)
     self.nt = Flag.GENRE
     self.set_label(lang(42101))
     self.is_folder = True
     self.image = getImage('album')
     self.offset = self.get_parameter('offset') or 0
Пример #13
0
 def __init__(self, parent=None, parameters=None):
     super(Node_public_playlists, self).__init__(parent, parameters)
     self.nt = Flag.PUBLIC_PLAYLISTS
     self.set_label(lang(30190))
     self.is_folder = True
     self.image = getImage('userplaylists')
     self.offset = self.get_parameter('offset') or 0
Пример #14
0
 def __init__(self, parent=None, parameters=None):
     super(Node_collections, self).__init__(parent, parameters)
     self.nt = Flag.COLLECTIONS
     self.set_label('Collections')
     self.url = None
     self.is_folder = True
     self.image = getImage('songs')
Пример #15
0
 def __init__(self, parent=None, parameters=None):
     super(Node_purchases, self).__init__(parent, parameters)
     self.label = lang(30100)
     self.nt = Flag.PURCHASES
     self.content_type = 'albums'
     self.image = getImage('album')
     self.offset = self.get_parameter('offset') or 0
Пример #16
0
    def __init__(self, parent, params):
        super(Node_album, self).__init__(parent, params)
        self.nt = Flag.ALBUM
        self.image = getImage('album')
        self.content_type = 'songs'
        self.is_special_purchase = False
        self.offset = None
        self.imageDefaultSize = 'large'
        self.label = 'Album'
        try:
            self.imageDefaultSize = getSetting('image_default_size')
        except:
            pass

        @property
        def nid(self):
            return self._nid
        @nid.getter
        def nid(self):
            return self._nid
        @nid.setter
        def nid(self, value):
            self._id = value
            if value in SPECIAL_PURCHASES:
                self.is_special_purchase = True
Пример #17
0
 def __init__(self, parent=None, parameters=None):
     super(Node_recommendation, self).__init__(parent, parameters)
     self.nt = Flag.RECOMMENDATION
     self.genre_id = self.get_parameter('genre-id')
     self.genre_type = self.get_parameter('genre-type')
     self.set_label(lang(30084))
     self.image = getImage('album')
     self.offset = self.get_parameter('offset') or 0
Пример #18
0
 def __init__(self, parent=None, parameters=None):
     super(Node_track, self).__init__(parent, parameters)
     self.nt = Flag.TRACK
     self.content_type = 'songs'
     self.qobuz_context_type = 'playlist'
     self.is_folder = False
     self.status = None
     self.image = getImage('song')
Пример #19
0
 def __init__(self, parent=None, parameters=None):
     super(Node_track, self).__init__(parent, parameters)
     self.nt = Flag.TRACK
     self.content_type = 'songs'
     self.qobuz_context_type = 'playlist'
     self.is_folder = False
     self.status = None
     self.image = getImage('song')
Пример #20
0
 def __init__(self, parent=None, parameters=None):
     super(Node_friend, self).__init__(parent, parameters)
     self.nt = Flag.FRIEND
     self.image = getImage("artist")
     self.name = ""
     self.set_name(self.get_parameter("query"))
     self.set_label(self.name)
     self.url = None
     self.is_folder = True
Пример #21
0
 def __init__(self, parent=None, parameters=None):
     super(Node_favorites, self).__init__(parent, parameters)
     self.nt = Flag.FAVORITES
     self.set_label(lang(30079))
     self.name = lang(30079)
     self.label = lang(30079)
     self.content_type = 'albums'
     self.image = getImage('favorites')
     self.offset = self.get_parameter('offset') or 0
Пример #22
0
 def __init__(self, parent=None, parameters=None):
     super(Node_friend, self).__init__(parent, parameters)
     self.nt = Flag.FRIEND
     self.image = getImage('artist')
     self.name = ''
     self.set_name(self.get_parameter('query'))
     self.set_label(self.name)
     self.url = None
     self.is_folder = True
Пример #23
0
 def __init__(self, parent=None, parameters=None):
     super(Node_friends, self).__init__(parent, parameters)
     self.nt = Flag.FRIENDS
     self.name = self.get_parameter('query')
     self.image = getImage('artist')
     self.label = str(self.name) + lang(30179) if (
         self.name) else lang(30180)
     self.url = None
     self.is_folder = True
     self.content_type = 'artists'
Пример #24
0
 def __init__(self, parent=None, parameters=None):
     super(Node_purchase, self).__init__(parent, parameters)
     self.nt = Flag.PURCHASE
     self.content_type = 'albums'
     self.image = getImage('album')
     self.search_type = self.get_parameter('search-type') or 'all'
     self.offset = self.get_parameter('offset') or 0
     if self.search_type == 'all':
         self.label = '%s - %s' % (lang(30101), lang(30098))
     else:
         self.label = '%s - %s' % (lang(30101),
                                   self.search_type.capitalize())
Пример #25
0
 def __init__(self, parent=None, parameters=None):
     super(Node_purchase, self).__init__(parent, parameters)
     self.nt = Flag.PURCHASE
     self.content_type = 'albums'
     self.image = getImage('album')
     self.search_type = self.get_parameter('search-type') or 'all'
     self.offset = self.get_parameter('offset') or 0
     if self.search_type == 'all':
         self.label = '%s - %s' % (lang(30101), lang(30098))
     else:
         self.label = '%s - %s' % (lang(30101),
                                   self.search_type.capitalize())
Пример #26
0
 def __init__(self, parent=None, parameters=None):
     super(Node_user_playlists, self).__init__(parent, parameters)
     self.label = lang(30019)
     self.image = getImage('userplaylists')
     self.nt = Flag.USERPLAYLISTS
     self.content_type = 'files'
     display_by = self.get_parameter('display-by')
     if not display_by:
         display_by = 'songs'
     self.set_display_by(display_by)
     display_cover = getSetting('userplaylists_display_cover', isBool=True)
     self.display_product_cover = display_cover
     self.offset = self.get_parameter('offset') or 0
Пример #27
0
 def __init__(self, parent=None, parameters=None):
     super(Node_user_playlists, self).__init__(parent, parameters)
     self.label = lang(30019)
     self.image = getImage('userplaylists')
     self.nt = Flag.USERPLAYLISTS
     self.content_type = 'files'
     display_by = self.get_parameter('display-by')
     if not display_by:
         display_by = 'songs'
     self.set_display_by(display_by)
     display_cover = getSetting('userplaylists_display_cover', isBool=True)
     self.display_product_cover = display_cover
     self.offset = self.get_parameter('offset') or 0
Пример #28
0
 def cache_remove(self):
     '''GUI/Removing all cached data
     '''
     from gui.util import yesno, notifyH, getImage
     from debug import log
     if not yesno(lang(30121), lang(30122)):
         log(self, "Deleting cached data aborted")
         return False
     if clean_all(cache):
         notifyH(lang(30119), lang(30123))
     else:
         notifyH(lang(30119), lang(30120),
                 getImage('icon-error-256'))
     return True
Пример #29
0
 def __init__(self, parent=None, parameters=None):
     super(Node_playlist, self).__init__(parent, parameters)
     self.nt = Flag.PLAYLIST
     self.label = None
     self.current_playlist_id = None
     self.b_is_current = False
     self.is_my_playlist = False
     self.url = None
     self.is_folder = True
     self.packby = ''
     if self.packby == 'album':
         self.content_type = 'albums'
     else:
         self.content_type = 'songs'
     self.offset = self.get_parameter('offset') or 0
     self.image = getImage('song')
Пример #30
0
 def __init__(self, parent=None, parameters=None):
     super(Node_collection, self).__init__(parent, parameters)
     self.nt = Flag.COLLECTION
     self.url = None
     self.is_folder = True
     self.image = getImage('songs')
     self.search_type = self.get_parameter('search-type')
     if self.search_type is None:
         self.search_type = 'artists'
     self.query = self.get_parameter('query', unQuote=True)
     self.offset = self.get_parameter('offset') or 0
     self.source = self.get_parameter('source')
     self.seen_artist = {}
     self.seen_album = {}
     self.seen_track = {}
     self.data = None
Пример #31
0
 def __init__(self, parent=None, parameters=None):
     super(Node_collection, self).__init__(parent, parameters)
     self.nt = Flag.COLLECTION
     self.url = None
     self.is_folder = True
     self.image = getImage('songs')
     self.search_type = self.get_parameter('search-type')
     if self.search_type is None:
         self.search_type = 'artists'
     self.query = self.get_parameter('query', unQuote=True)
     self.offset = self.get_parameter('offset') or 0
     self.source = self.get_parameter('source')
     self.seen_artist = {}
     self.seen_album = {}
     self.seen_track = {}
     self.data = None
Пример #32
0
    def gui_remove(self, playlist_id=None):
        if not playlist_id:
            playlist_id = self.nid
        if not playlist_id:
            notifyH(dialogHeading, 'Invalid playlist %s' % (str(playlist_id)))
            return False
#         import xbmcgui  # @UnresolvedImport
#         import xbmc  # @UnresolvedImport
#         cid = self.get_current_playlist()
        login = getSetting('username')
        offset = 0
        limit = getSetting('pagination_limit')
        data = api.get('/playlist/get',
                       playlist_id=playlist_id,
                       limit=limit,
                       offset=offset)
        name = ''
        if 'name' in data:
            name = data['name']
        ok = xbmcgui.Dialog().yesno(lang(30166), lang(30054),
                                    color('FFFF0000', name))
        if not ok:
            info(self, "Deleting playlist aborted...")
            return False
        res = False
        if data['owner']['name'] == login:
            info(self, "Deleting playlist: " + str(playlist_id))
            res = api.playlist_delete(playlist_id=playlist_id)
        else:
            info(self, 'Unsuscribe playlist' + str(playlist_id))
            res = api.playlist_unsubscribe(playlist_id=playlist_id)
        if not res:
            warn(self, "Cannot delete playlist with id " + str(playlist_id))
            notifyH(lang(30183),
                    lang(30186) + name, getImage('icon-error-256'))
            return False
        self.delete_cache(playlist_id)
        notifyH(lang(30183), (lang(30184) + "%s" + lang(30185)) % (name))
        url = self.make_url(nt=Flag.USERPLAYLISTS,
                            mode=Mode.VIEW,
                            nm='',
                            nid='')
        executeBuiltin(containerUpdate(url, True))
        return False
Пример #33
0
 def gui_remove(self, playlist_id=None):
     if not playlist_id:
         playlist_id = self.nid
     if not playlist_id:
         notifyH(dialogHeading, 'Invalid playlist %s' % (str(playlist_id)))
         return False
     import xbmcgui
     import xbmc
     cid = self.get_current_playlist()
     login = getSetting('username')
     offset = 0
     limit = getSetting('pagination_limit')
     data = api.get('/playlist/get', playlist_id=playlist_id, limit=limit,
                    offset=offset)
     name = ''
     if 'name' in data:
         name = data['name']
     ok = xbmcgui.Dialog().yesno(lang(39010),
                                 lang(30052),
                                 color('FFFF0000', name))
     if not ok:
         info(self, "Deleting playlist aborted...")
         return False
     res = False
     if data['owner']['name'] == login:
         info(self, "Deleting playlist: " + str(playlist_id))
         res = api.playlist_delete(playlist_id=playlist_id)
     else:
         info(self, 'Unsuscribe playlist' + str(playlist_id))
         res = api.playlist_unsubscribe(playlist_id=playlist_id)
     if not res:
         warn(self, "Cannot delete playlist with id " + str(playlist_id))
         notifyH(lang(42001), lang(42004) +
                 name, getImage('icon-error-256'))
         return False
     self.delete_cache(playlist_id)
     notifyH(lang(42001), (lang(42002) + "%s" + lang(42003)) % (name))
     url = self.make_url(nt=Flag.USERPLAYLISTS, mode=Mode.VIEW, nm='', 
                         nid='')
     executeBuiltin(containerUpdate(url, True))
     return False
Пример #34
0
    def __init__(self, parent=None, parameters=None):
        super(Node_favorite, self).__init__(parent, parameters)
        self.nt = Flag.FAVORITE

        self.name = lang(30073)
        self.image = getImage('favorites')
        self.method = self.get_parameter('nm')
        self.search_type = self.get_parameter('search-type')
        self.content_type = 'files'
        if self.search_type == 'all':
            self.search_type = None
        elif self.search_type == 'albums':
            self.content_type = 'albums'
        elif self.search_type == 'tracks':
            self.content_type = 'files'
        elif self.search_type == 'artists':
            self.content_type = 'artists'
        if self.search_type is None:
            self.label = '%s - %s' % (lang(30081), lang(30098))
        else:
            self.label = '%s - %s' % (lang(30081),
                                      self.search_type.capitalize())
        self.offset = self.get_parameter('offset') or 0
Пример #35
0
 def __init__(self, parent=None, parameters=None):
     super(Node_favorites, self).__init__(parent, parameters)
     self.nt = Flag.FAVORITES
     self.set_label(lang(30081))
     self.content_type = 'files'
     self.image = getImage('favorites')
Пример #36
0
 def get_image(self):
     userdata = self.get_user_data()
     if userdata:
         if self.get_owner() == userdata['login']:
             return userdata['avatar']
     return getImage('song')
Пример #37
0
 def __init__(self, parent=None, parameters=None):
     super(Node_articles, self).__init__(parent, parameters)
     self.nt = Flag.ARTICLES
     self.is_folder = True
     self.image = getImage("album")
     self.offset = self.get_parameter("offset") or 0
Пример #38
0
 def __init__(self, parent=None, parameters=None):
     super(Node_purchases, self).__init__(parent, parameters)
     self.nt = Flag.PURCHASES
     self.label = lang(30101)
     self.content_type = 'files'
     self.image = getImage('album')