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
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
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
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
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
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
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
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
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
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
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
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
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
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
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