Beispiel #1
0
 def makeListItem(self, replaceItems=False):
     colorItem = getSetting('item_default_color')
     colorPl = getSetting('item_section_color')
     label = self.get_label()
     image = self.get_image()
     owner = self.get_owner()
     url = self.make_url()
     if not self.is_my_playlist:
         label = '%s - %s' % (color(colorItem, owner), label)
     if self.b_is_current:
         fmt = getSetting('playlist_current_format')
         label = fmt % (color(colorPl, label))
     item = xbmcgui.ListItem(label,
                             owner,
                             image,
                             image,
                             url)
     if not item:
         warn(self, "Error: Cannot make xbmc list item")
         return None
     item.setPath(url)
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
     return item
Beispiel #2
0
 def makeListItem(self, **ka):
     '''
         Make Xbmc List Item
         return  a xbml list item
         Class can overload this method
     '''
     import xbmcgui  # @UnresolvedImport
     if 'url' not in ka:
         ka['url'] = self.make_url()
     if 'label' not in ka:
         ka['label'] = self.get_label()
     if 'label2' not in ka:
         ka['label2'] = self.get_label()
     if 'image' not in ka:
         ka['image'] = self.get_image()
     item = xbmcgui.ListItem(
         ka['label'],
         ka['label2'],
         ka['image'],
         ka['image'],
         ka['url']
     )
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), ka['replaceItems'])
     return item
Beispiel #3
0
 def makeListItem(self, **ka):
     replaceItems = ka['replaceItems'] if 'replaceItems' in ka else False
     item = xbmcgui.ListItem(
         label=self.get_label(),
         label2=self.get_label2(),
         iconImage=self.get_image(),
         thumbnailImage=self.get_image(),
         path=self.make_url(), )
     item.setInfo(
         'music',
         infoLabels={
             'genre': self.get_genre(),
             'year': self.get_year(),
             'artist': self.get_artist(),
             'title': self.get_title(),
             'album': self.get_album(),
             'comment': self.get_description(default=None),
             'duration': self.get_duration(),
             'discnumber': self.get_media_count()
         })
     item.setProperty('album_description', self.get_information())
     item.setProperty('album_label', self.get_album_label())
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
     return item
Beispiel #4
0
    def makeListItem(self, **ka):

        item = xbmcgui.ListItem(
            self.get_label(), self.get_property("source"), self.get_image(), self.get_image(), "url=:p"
        )
        ctxMenu = contextMenu()
        self.attach_context_menu(item, ctxMenu)
        item.addContextMenuItems(ctxMenu.getTuples(), ka["replaceItems"])
        return item
Beispiel #5
0
 def makeListItem(self, replaceItems=False):
     item = xbmcgui.ListItem(self.get_label(),
                             self.get_label(),
                             self.get_image(),
                             self.get_image(),
                             self.make_url(),
                             )
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
     return item
 def makeListItem(self, **ka):
     replaceItems = ka['replaceItems'] if 'replaceItems' in ka else False
     item = xbmcgui.ListItem(
         self.get_label(),
         self.get_label(),
         self.get_image(),
         self.get_image(),
         self.make_url(),
     )
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
     return item
Beispiel #7
0
 def makeListItem(self, **ka):
     item = xbmcgui.ListItem(self.get_label(), self.get_property('source'),
                             self.get_image(), self.get_image())
     item.setInfo('Music',
                  infoLabels={
                      'artist': self.get_author(),
                      'genre': self.get_genre()
                  })
     item.setProperty('artist_genre', self.get_genre())
     item.setProperty('artist_description', self.get_description())
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), ka['replaceItems'])
     return item
Beispiel #8
0
 def makeListItem(self, **ka):
     item = xbmcgui.ListItem(self.get_label(),
                             self.get_property('source'),
                             self.get_image(), self.get_image())
     item.setInfo(
         'Music',
         infoLabels={
             'artist': self.get_author(),
             'genre': self.get_genre()
         })
     item.setProperty('artist_genre', self.get_genre())
     item.setProperty('artist_description', self.get_description())
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), ka['replaceItems'])
     return item
Beispiel #9
0
    def makeListItem(self, **ka):
        replaceItems = ka['replaceItems'] if 'replaceItems' in ka else False
        privacy_color = theme.get('item/public/color') if self.get_property(
            'is_public', to='bool') else theme.get('item/private/color')
        tag = color(privacy_color, self.get_tag())
        label = '%s%s' % (self.get_label(), tag)
        if not self.is_my_playlist:
            label = '%s - %s' % (color(
                theme.get('item/default/color'), self.get_owner()), label)
        if self.b_is_current:
            fmt = config.app.registry.get('playlist_current_format')
            label = fmt % (color(theme.get('item/selected/color'), label))
        item = xbmcgui.ListItem(label,
                                self.get_owner(),
                                self.get_image(),
                                self.get_image(), self.make_url())
        if not item:
            logger.warn('Error: Cannot make xbmc list item')
            return None
        item.setArt({'icon': self.get_image(), 'thumb': self.get_image()})
        description = u'''{description}
- owner: {owner}
- tracks: {tracks_count}
- public: {is_public}
- published: {is_published}
- duration : {duration} mn'''.format(
            description=self.get_property(
                'description', default=self.get_property('name')),
            owner=self.get_property(
                'owner/name', default='n/a'),
            tracks_count=self.get_property('tracks_count'),
            is_public=self.get_property('is_public'),
            is_published=self.get_property('is_published'),
            duration=round(
                self.get_property(
                    'duration', default=0.0) / 60.0, 2))
        item.setInfo(
            type='Music', infoLabels={'genre': ', '.join(self.get_genre()), })
        item.setProperty('album_description', description)
        item.setPath(self.make_url())
        ctxMenu = contextMenu()
        self.attach_context_menu(item, ctxMenu)
        item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
        return item
Beispiel #10
0
 def makeListItem(self, **ka):
     replaceItems = ka['replaceItems'] if 'replaceItems' in ka else False
     genre = self.get_genre()
     item = xbmcgui.ListItem(self.get_label(), self.get_label(),
                             self.get_image(), self.get_image(),
                             self.make_url())
     if not item:
         logger.warn('Error: Cannot make xbmc list item')
         return None
     item.setPath(self.make_url())
     item.setInfo('Music',
                  infoLabels={
                      'artist': self.get_artist(),
                      'genre': genre,
                      'comment': self.get_description()
                  })
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
     return item
Beispiel #11
0
 def makeListItem(self, replaceItems=False):
     import xbmcgui  # @UnresolvedImport
     image = self.get_image()
     url = self.make_url()
     name = self.get_label()
     item = xbmcgui.ListItem(name,
                             name,
                             image,
                             image,
                             url)
     if not item:
         warn(self, "Error: Cannot make xbmc list item")
         return None
     item.setPath(url)
     item.setInfo('music', infoLabels={
         'artist': self.get_artist(),
         'comment': self.get_description()
     })
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
     return item
Beispiel #12
0
 def makeListItem(self, **ka):
     replaceItems = ka['replaceItems'] if 'replaceItems' in ka else False
     genre = self.get_genre()
     item = xbmcgui.ListItem(self.get_label(),
                             self.get_label(),
                             self.get_image(),
                             self.get_image(), self.make_url())
     if not item:
         logger.warn('Error: Cannot make xbmc list item')
         return None
     item.setPath(self.make_url())
     item.setInfo(
         'Music',
         infoLabels={
             'artist': self.get_artist(),
             'genre': genre,
             'comment': self.get_description()
         })
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
     return item
Beispiel #13
0
 def makeListItem(self, replaceItems=False):
     import xbmcgui  # @UnresolvedImport
     image = self.get_image()
     item = xbmcgui.ListItem(
         label=self.get_label(),
         label2=self.get_label2(),
         iconImage=image,
         thumbnailImage=image,
         path=self.make_url(),
     )
     item.setInfo('music', infoLabels={
         'genre': self.get_genre(),
         'year': self.get_year(),
         'artist': self.get_artist(),
         'title': self.get_title(),
         'album': self.get_title(),
         'comment': self.get_description()
     })
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
     return item
Beispiel #14
0
 def makeListItem(self, **ka):
     '''
         Make Xbmc List Item
         return  a xbml list item
         Class can overload this method
     '''
     from kodi_six import xbmcgui  # pylint:disable=E0401
     if 'url' not in ka:
         ka['url'] = self.make_url()
     if 'label' not in ka:
         ka['label'] = self.get_label()
     if 'label2' not in ka:
         ka['label2'] = self.get_label()
     if 'image' not in ka:
         ka['image'] = self.get_image()
     if 'asLocalUrl' in ka and not ka['asLocalUrl']:
         del ka['asLocalUrl']
     item = xbmcgui.ListItem(ka['label'], ka['label2'], ka['image'],
                             ka['image'], ka['url'])
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), ka['replaceItems'])
     return item
Beispiel #15
0
 def makeListItem(self, **ka):
     '''
         Make Xbmc List Item
         return  a xbml list item
         Class can overload this method
     '''
     from kodi_six import xbmcgui  # pylint:disable=E0401
     if 'url' not in ka:
         ka['url'] = self.make_url()
     if 'label' not in ka:
         ka['label'] = self.get_label()
     if 'label2' not in ka:
         ka['label2'] = self.get_label()
     if 'image' not in ka:
         ka['image'] = self.get_image()
     if 'asLocalUrl' in ka and not ka['asLocalUrl']:
         del ka['asLocalUrl']
     item = xbmcgui.ListItem(ka['label'], ka['label2'], ka['image'],
                             ka['image'], ka['url'])
     ctxMenu = contextMenu()
     self.attach_context_menu(item, ctxMenu)
     item.addContextMenuItems(ctxMenu.getTuples(), ka['replaceItems'])
     return item
Beispiel #16
0
    def makeListItem(self, replaceItems=False):
        import xbmcgui  # @UnresolvedImport
        media_number = self.get_media_number()
        if not media_number:
            media_number = 1
        else:
            media_number = int(media_number)
        duration = self.get_duration()
        if duration == -1:
            import pprint
            print "Error: no duration\n%s" % (pprint.pformat(self.data))
        label = self.get_label()
        isplayable = 'true'

        # Disable free account checking here, purchased track are
        # still playable even with free account, but we don't know yet.
        # if qobuz.gui.is_free_account():
        #    duration = 60
        # label = '[COLOR=FF555555]' + label + '[/COLOR]
        # [[COLOR=55FF0000]Sample[/COLOR]]'
        mode = Mode.PLAY
        url = self.make_url(mode=mode)
        image = self.get_image()
        item = xbmcgui.ListItem(label,
                                label,
                                image,
                                image,
                                url)
        item.setIconImage(image)
        item.setThumbnailImage(image)
        if not item:
            warn(self, "Cannot create xbmc list item")
            return None
        item.setPath(url)
        track_number = self.get_track_number()
        if not track_number:
            track_number = 0
        else:
            track_number = int(track_number)
        mlabel = self.get_property('label/name')
        description = self.get_description()
        comment = ''
        if mlabel:
            comment = mlabel
        if description:
            comment += ' - ' + description
        '''Xbmc Library fix: Compilation showing one entry by track
            We are setting artist like 'VA / Artist'
            Data snippet:
                {u'id': 26887, u'name': u'Interpr\xe8tes Divers'}
                {u'id': 145383, u'name': u'Various Artists'}
                {u'id': 255948, u'name': u'Multi Interpretes'}
        '''
        artist = self.get_artist()
        if self.parent and hasattr(self.parent, 'get_artist_id'):
            if self.parent.get_artist() != artist:
                artist = '%s / %s' % (self.parent.get_artist(), artist)
        desc = description or 'Qobuz Music Streaming'
        item.setInfo(type='music', infoLabels={
                     'count': self.nid,
                     'title': self.get_title(),
                     'album': self.get_album(),
                     'genre': self.get_genre(),
                     'artist': artist,
                     'tracknumber': track_number,
                     'duration': duration,
                     'year': self.get_year(),
                     'comment': desc + '(aid=' + self.get_album_id()
                     + ',curl=' + self.get_image() + ')'
                     # 'lyrics': "loreum..."
                     })
        item.setProperty('DiscNumber', str(media_number))
        item.setProperty('IsPlayable', isplayable)
        item.setProperty('IsInternetStream', isplayable)
        item.setProperty('Music', isplayable)
        ctxMenu = contextMenu()
        self.attach_context_menu(item, ctxMenu)
        item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
        return item
Beispiel #17
0
def make_list_item(node, **ka):
    replaceItems = ka['replaceItems'] if 'replaceItems' in ka else False
    isplayable = 'true'
    item = xbmcgui.ListItem(
        node.get_label(),
        node.get_label2(),
        node.get_image(),
        node.get_image(img_type='back'),
        node.make_url(mode=Mode.PLAY))
    if not item:
        logger.warn('Cannot create xbmc list item')
        return None
    item.setArt({
        'thumb': node.get_image(),
        'icon': node.get_image(img_type='thumbnail')
    })
    comment = trackTemplate.format(
        popularity=node.get_property(
            'popularity', default='n/a'),
        duration=node.get_duration(),
        label=node.get_album_label(),
        year=node.get_property('album/year'),
        performers=node.get_property('performers'),
        track_number=node.get_property('track_number'),
        version=node.get_property('version'),
        performer=node.get_property('performer/name'),
        composer=node.get_property('composer/name'),
        copyright=node.get_property(
            'copyright', default='n/a'),
        maximum_sampling_rate=node.get_maximum_sampling_rate(),
        maximum_bit_depth=node.get_maximum_bit_depth(),
        description=node.get_description(default=node.get_label()),
        hires=node.get_hires(),
        sampleable=node.get_sampleable(),
        downloadable=node.get_downloadable(),
        purchasable=node.get_purchasable(),
        purchased=node.get_purchased(),
        previewable=node.get_previewable(),
        streamable=node.get_streamable(),
        hires_purchased=node.get_hires_purchased(),
        awards=','.join(node.get_awards()),
        articles=', '.join(node.get_articles()))

    item.setInfo(
        type='Music',
        infoLabels={
            'count': node.nid,
            'title': node.get_title(),
            'album': node.get_album(),
            'genre': node.get_genre(),
            'artist': node.get_album_artist(),
            'tracknumber': node.get_track_number(default=0),
            'duration': node.get_property('duration'),
            'year': node.get_year(),
            'rating': str(node.get_popularity()),
        })
    item.setProperty('album_artist', node.get_album_artist())
    item.setProperty('album_description', comment)
    item.setProperty('album_label', node.get_property('album/label/name'))
    item.setProperty('Role.Composer', node.get_property('composer/name'))
    item.setProperty('DiscNumber', str(node.get_media_number(default=1)))
    item.setProperty('IsPlayable', isplayable)
    item.setProperty('IsInternetStream', isplayable)
    item.setProperty('Music', isplayable)
    ctxMenu = contextMenu()
    node.attach_context_menu(item, ctxMenu)
    item.addContextMenuItems(ctxMenu.getTuples(), replaceItems)
    return item