Пример #1
0
 def _add_playlist(self, list, key, loader, show_owner):
     item = xbmcgui.ListItem()
     item.setProperty("PlaylistId", str(key))
     item.setProperty("PlaylistName", loader.get_name())
     item.setProperty("PlaylistNumTracks", str(loader.get_num_tracks()))
     
     item.setProperty("PlaylistShowOwner", iif(show_owner, "true", "false"))
     if show_owner:
         owner_name = loader.get_playlist().owner().canonical_name()
         item.setProperty("PlaylistOwner", str(owner_name))
     
     #Collaborative status
     is_collaborative = loader.get_is_collaborative()
     item.setProperty("PlaylistCollaborative", iif(is_collaborative, "true", "false"))
     
     #Thumbnails
     thumbnails = loader.get_thumbnails()
     if len(thumbnails) > 0:
         #Set cover info
         item.setProperty("CoverLayout", iif(len(thumbnails) < 4, "one", "four"))
         
         #Now loop to set all the images
         for idx, thumb_item in enumerate(thumbnails):
             item_num = idx + 1
             is_remote = thumb_item.startswith("http://")
             item.setProperty("CoverItem%d" % item_num, thumb_item)
             item.setProperty("CoverItem%dIsRemote" % item_num, iif(is_remote, "true", "false"))
     
     list.addItem(item)
Пример #2
0
 def _set_playlist_properties(self, view_manager):
     window = view_manager.get_window()
     
     #Playlist name
     window.setProperty("PlaylistDetailName", self.__loader.get_name())
     
     #Owner info
     session = view_manager.get_var('session')
     current_username = session.user().canonical_name()
     playlist_username = self.__playlist.owner().canonical_name()
     show_owner = current_username != playlist_username
     window.setProperty("PlaylistDetailShowOwner", iif(show_owner, "true", "false"))
     if show_owner:
         window.setProperty("PlaylistDetailOwner", str(playlist_username))
 
     #Collaboratie status
     is_collaborative_str = iif(self.__playlist.is_collaborative(), "true", "false")
     window.setProperty("PlaylistDetailCollaborative", is_collaborative_str)
     
     #Length data
     window.setProperty("PlaylistDetailNumTracks", str(self.__playlist.num_tracks()))
     window.setProperty("PlaylistDetailDuration", self._get_playlist_length_str())
     
     #Subscribers
     window.setProperty("PlaylistDetailNumSubscribers", str(self.__playlist.num_subscribers()))
Пример #3
0
    def _set_playlist_properties(self, view_manager):
        window = view_manager.get_window()

        #Playlist name
        window.setProperty("PlaylistDetailName", self.__loader.get_name())

        #Owner info
        session = view_manager.get_var('session')
        current_username = session.user().canonical_name()
        playlist_username = self.__playlist.owner().canonical_name()
        show_owner = current_username != playlist_username
        window.setProperty("PlaylistDetailShowOwner",
                           iif(show_owner, "true", "false"))
        if show_owner:
            window.setProperty("PlaylistDetailOwner", str(playlist_username))

        #Collaboratie status
        is_collaborative_str = iif(self.__playlist.is_collaborative(), "true",
                                   "false")
        window.setProperty("PlaylistDetailCollaborative", is_collaborative_str)

        #Length data
        window.setProperty("PlaylistDetailNumTracks",
                           str(self.__playlist.num_tracks()))
        window.setProperty("PlaylistDetailDuration",
                           self._get_playlist_length_str())

        #Subscribers
        window.setProperty("PlaylistDetailNumSubscribers",
                           str(self.__playlist.num_subscribers()))
Пример #4
0
    def _add_playlist(self, list, key, loader, show_owner):
        item = xbmcgui.ListItem()
        item.setProperty("PlaylistId", str(key))
        item.setProperty("PlaylistName", loader.get_name())
        item.setProperty("PlaylistNumTracks", str(loader.get_num_tracks()))

        item.setProperty("PlaylistShowOwner", iif(show_owner, "true", "false"))
        if show_owner:
            owner_name = loader.get_playlist().owner().canonical_name()
            item.setProperty("PlaylistOwner", str(owner_name))

        #Collaborative status
        is_collaborative = loader.get_is_collaborative()
        item.setProperty("PlaylistCollaborative",
                         iif(is_collaborative, "true", "false"))

        #Thumbnails
        thumbnails = loader.get_thumbnails()
        if len(thumbnails) > 0:
            #Set cover info
            item.setProperty("CoverLayout",
                             iif(len(thumbnails) < 4, "one", "four"))

            #Now loop to set all the images
            for idx, thumb_item in enumerate(thumbnails):
                item_num = idx + 1
                is_remote = thumb_item.startswith("http://")
                item.setProperty("CoverItem{0:d}".format(item_num), thumb_item)
                item.setProperty("CoverItem{0:d}IsRemote".format(item_num),
                                 iif(is_remote, "true", "false"))

        list.addItem(item)
Пример #5
0
 def _set_playlist_image(self, view_manager, thumbnails):
     if len(thumbnails) > 0:
         window = view_manager.get_window()
         
         #Set cover layout info
         cover_layout_str = iif(len(thumbnails) < 4, "one", "four")
         window.setProperty("PlaylistDetailCoverLayout", cover_layout_str)
         
         #Now loop to set all the images
         for idx, thumb_item in enumerate(thumbnails):
             item_num = idx + 1
             is_remote = thumb_item.startswith("http://")
             is_remote_str = iif(is_remote, "true", "false")
             window.setProperty("PlaylistDetailCoverItem%d" % item_num, thumb_item)
             window.setProperty("PlaylistDetailCoverItem%dIsRemote" % item_num, is_remote_str)
Пример #6
0
    def _set_playlist_image(self, view_manager, thumbnails):
        if len(thumbnails) > 0:
            window = view_manager.get_window()

            #Set cover layout info
            cover_layout_str = iif(len(thumbnails) < 4, "one", "four")
            window.setProperty("PlaylistDetailCoverLayout", cover_layout_str)

            #Now loop to set all the images
            for idx, thumb_item in enumerate(thumbnails):
                item_num = idx + 1
                is_remote = thumb_item.startswith("http://")
                is_remote_str = iif(is_remote, "true", "false")
                prop = "PlaylistDetailCoverItem{0:d}".format(item_num)
                window.setProperty(prop, thumb_item)
                prop = "PlaylistDetailCoverItem{0:d}IsRemote".format(item_num)
                window.setProperty(prop, is_remote_str)
Пример #7
0
 def _update_metadata(self, view_manager):
     list_obj = self.get_list(view_manager)
     session = view_manager.get_var('session')
     for index, track_obj in enumerate(self.__albumbrowse.tracks()):
         item_obj = self._get_list_item(list_obj, index)
         item_available_status = self._item_available(item_obj)
         track_available_status = self._track_available(session, track_obj)
         if item_available_status != track_available_status:
             status_str = iif(track_available_status, 'true', 'false')
             item_obj.setProperty('IsAvailable', status_str)
Пример #8
0
    def _update_metadata(self, view_manager):
        list_obj = self.get_list(view_manager)
        session = view_manager.get_var('session')
        num_unavailable = 0

        for index, track_obj in enumerate(self.__albumbrowse.tracks()):
            item_obj = self._get_list_item(list_obj, index)
            item_available = self._item_available(item_obj)
            track_available = self._track_available(session, track_obj)

            #Increment the counter if it's unavailable
            if not track_available:
                num_unavailable += 1

            #If status changed, update it
            if item_available != track_available:
                status_str = iif(track_available, 'true', 'false')
                item_obj.setProperty('IsAvailable', status_str)

        return num_unavailable