本文整理汇总了Python中resources.lib.libraries.control.addonFanart函数的典型用法代码示例。如果您正苦于以下问题:Python addonFanart函数的具体用法?Python addonFanart怎么用?Python addonFanart使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了addonFanart函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: addDirectory
def addDirectory(self, items):
if items == None or len(items) == 0: return
sysaddon = sys.argv[0]
addonFanart = control.addonFanart()
addonThumb = control.addonThumb()
artPath = control.artPath()
for i in items:
try:
try: name = control.lang(i['name']).encode('utf-8')
except: name = i['name']
if i['image'].startswith('http://'): thumb = i['image']
elif not artPath == None: thumb = os.path.join(artPath, i['image'])
else: thumb = addonThumb
url = '%s?action=%s' % (sysaddon, i['action'])
try: url += '&url=%s' % urllib.quote_plus(i['url'])
except: pass
cm = []
#try: cm.append((control.lang(30239).encode('utf-8'), 'RunPlugin(%s?action=tvshowsToLibrary&url=%s)' % (sysaddon, urllib.quote_plus(i['context']))))
#except: pass
item = control.item(label=name, iconImage=thumb, thumbnailImage=thumb)
item.addContextMenuItems(cm, replaceItems=False)
if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True)
except:
pass
views.setView('tvshows', {'skin.confluence': control.viewMode['mediainfo1']})
control.directory(int(sys.argv[1]), cacheToDisc=True)
示例2: alterSources
def alterSources(self, url, meta):
try:
setting = control.setting('autoplay')
if setting == 'false': url += '&url=direct://'
else: url += '&url=dialog://'
meta = json.loads(meta)
poster = meta['poster'] if 'poster' in meta else '0'
banner = meta['banner'] if 'banner' in meta else '0'
thumb = meta['thumb'] if 'thumb' in meta else poster
fanart = meta['fanart'] if 'fanart' in meta else '0'
if poster == '0': poster = control.addonPoster()
if banner == '0' and poster == '0': banner = control.addonBanner()
elif banner == '0': banner = poster
if thumb == '0' and fanart == '0': thumb = control.addonFanart()
elif thumb == '0': thumb = fanart
playlist = control.playlist
playlist.clear()
item = control.item(label='', iconImage=thumb, thumbnailImage=thumb)
try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner})
except: pass
item.setInfo(type='Video', infoLabels = meta)
item.setProperty('Video', 'true')
item.setProperty('IsPlayable', 'true')
control.player.play(url, item)
except:
pass
示例3: addDirectory
def addDirectory(self, items):
if items == None or len(items) == 0: return
sysaddon = sys.argv[0]
addonFanart = control.addonFanart()
addonThumb = control.addonThumb()
artPath = control.artPath()
for i in items:
try:
try: name = control.lang(i['name']).encode('utf-8')
except: name = i['name']
if not artPath == None: thumb = os.path.join(artPath, i['image'])
else: thumb = addonThumb
url = '%s?action=%s' % (sysaddon, i['action'])
try: url += '&url=%s' % urllib.quote_plus(i['url'])
except: pass
item = control.item(label=name, iconImage=thumb, thumbnailImage=thumb)
item.addContextMenuItems([], replaceItems=False)
if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True)
except:
pass
control.directory(int(sys.argv[1]), cacheToDisc=True)
示例4: channelDirectory
def channelDirectory(self, items):
if items == None or len(items) == 0: return
playbackMenu = control.lang(30292).encode('utf-8') if control.setting('autoplay') == 'true' else control.lang(30291).encode('utf-8')
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart = control.addonFanart()
sysaddon = sys.argv[0]
for i in items:
try:
label = "[B]%s[/B] : %s" % (i['channel'].upper(), i['name'])
sysname = urllib.quote_plus(i['name'])
systitle = urllib.quote_plus(i['title'])
imdb, tmdb, year = i['imdb'], '0', i['year']
poster, banner = i['poster'], i['poster']
if poster == '0': poster = addonPoster
if banner == '0' and poster == '0': banner = addonBanner
elif banner == '0': banner = poster
meta = dict((k,v) for k, v in i.iteritems() if not v == '0')
meta.update({'trailer': '%s?action=trailer&name=%s' % (sysaddon, sysname)})
if i['duration'] == '0': meta.update({'duration': '120'})
try: meta.update({'duration': str(int(meta['duration']) * 60)})
except: pass
sysmeta = urllib.quote_plus(json.dumps(meta))
url = '%s?action=play&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&meta=%s&t=%s' % (sysaddon, sysname, systitle, year, imdb, tmdb, sysmeta, self.systime)
sysurl = urllib.quote_plus(url)
cm = []
cm.append((playbackMenu, 'RunPlugin(%s?action=alterSources&url=%s&meta=%s)' % (sysaddon, sysurl, sysmeta)))
cm.append((control.lang(30293).encode('utf-8'), 'Action(Info)'))
cm.append((control.lang(30294).encode('utf-8'), 'RunPlugin(%s?action=refresh)' % (sysaddon)))
cm.append((control.lang(30295).encode('utf-8'), 'RunPlugin(%s?action=openSettings)' % (sysaddon)))
cm.append((control.lang(30296).encode('utf-8'), 'RunPlugin(%s?action=openPlaylist)' % (sysaddon)))
item = control.item(label=label, iconImage=poster, thumbnailImage=poster)
try: item.setArt({'poster': poster, 'banner': banner})
except: pass
if not addonFanart == None:
item.setProperty('Fanart_Image', addonFanart)
item.setInfo(type='Video', infoLabels = meta)
item.setProperty('Video', 'true')
#item.setProperty('IsPlayable', 'true')
item.addContextMenuItems(cm, replaceItems=True)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False)
except:
pass
control.content(int(sys.argv[1]), 'movies')
control.directory(int(sys.argv[1]), cacheToDisc=True)
示例5: channelDirectory
def channelDirectory(self, items):
if items == None or len(items) == 0: return
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart = control.addonFanart()
sysaddon = sys.argv[0]
for i in items:
try:
label = "%s" % (i['name'])
sysname = urllib.quote_plus(i['name'])
poster, banner, direct = i['poster'], i['poster'], i['direct']
try :provider=i['provider']
except:provider=None
if poster == '0': poster = addonPoster
if banner == '0' and poster == '0': banner = addonBanner
elif banner == '0': banner = poster
url = i['url']
if not direct:
content = 'live'
meta = {"poster":poster, "iconImage":poster}
source = {"provider":provider,
"url":url,
"quality":'HD',
"label":'Resolving %s' % label,
"source":provider, "meta":json.dumps(meta)}
syssource = urllib.quote_plus(json.dumps([source]))
url = 'action=playItem&content=%s&name=%s&source=%s' % (content, sysname, syssource)
url = '%s?%s' % (sysaddon, url)
item = control.item(label=label, iconImage=poster, thumbnailImage=poster)
try: item.setArt({'poster': poster, 'banner': banner})
except: pass
if not addonFanart == None:
item.setProperty('Fanart_Image', addonFanart)
item.setProperty('Video', 'true')
item.setProperty("IsPlayable", "true")
item.addContextMenuItems([], replaceItems=True)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False)
except:
pass
control.content(int(sys.argv[1]), 'video')
control.directory(int(sys.argv[1]), cacheToDisc=False)
views.setView('movies', {'skin.confluence': 500})
示例6: alterSources
def alterSources(self, url, meta):
try:
setting = control.setting("autoplay")
if setting == "false":
url += "&url=direct://"
else:
url += "&url=dialog://"
meta = json.loads(meta)
poster = meta["poster"] if "poster" in meta else "0"
banner = meta["banner"] if "banner" in meta else "0"
thumb = meta["thumb"] if "thumb" in meta else poster
fanart = meta["fanart"] if "fanart" in meta else "0"
if poster == "0":
poster = control.addonPoster()
if banner == "0" and poster == "0":
banner = control.addonBanner()
elif banner == "0":
banner = poster
if thumb == "0" and fanart == "0":
thumb = control.addonFanart()
elif thumb == "0":
thumb = fanart
playlist = control.playlist
playlist.clear()
item = control.item(label="", iconImage=thumb, thumbnailImage=thumb)
try:
item.setArt(
{
"poster": poster,
"tvshow.poster": poster,
"season.poster": poster,
"banner": banner,
"tvshow.banner": banner,
"season.banner": banner,
}
)
except:
pass
item.setInfo(type="Video", infoLabels=meta)
item.setProperty("Video", "true")
item.setProperty("IsPlayable", "true")
control.player.play(url, item)
except:
pass
示例7: downloader
def downloader():
thumb = control.addonThumb() ; fanart = control.addonFanart()
status = control.window.getProperty(property + '.status')
if not downloadPath == '':
item = control.item('[COLOR FF00b8ff]Downloads[/COLOR]', iconImage=thumb, thumbnailImage=thumb)
item.addContextMenuItems([], replaceItems=True)
item.setProperty('fanart_image', fanart)
control.addItem(handle=int(sys.argv[1]), url=downloadPath, listitem=item, isFolder=True)
if status == 'downloading':
item = control.item('[COLOR red]Stop Downloads[/COLOR]', iconImage=thumb, thumbnailImage=thumb)
item.addContextMenuItems([], replaceItems=True)
item.setProperty('fanart_image', fanart)
control.addItem(handle=int(sys.argv[1]), url=sys.argv[0]+'?mode=stopDownload', listitem=item, isFolder=True)
else:
item = control.item('[COLOR FF00b8ff]Start Downloads[/COLOR]', iconImage=thumb, thumbnailImage=thumb)
item.addContextMenuItems([], replaceItems=True)
item.setProperty('fanart_image', fanart)
control.addItem(handle=int(sys.argv[1]), url=sys.argv[0]+'?mode=startDownload', listitem=item, isFolder=True)
if status == 'downloading':
item = control.item('[COLOR gold]Download Status[/COLOR]', iconImage=thumb, thumbnailImage=thumb)
item.addContextMenuItems([], replaceItems=True)
item.setProperty('Fanart_Image', fanart)
control.addItem(handle=int(sys.argv[1]), url=sys.argv[0]+'?mode=statusDownload', listitem=item, isFolder=True)
def download(): return []
result = cache.get(download, 600000000, table='rel_dl')
for i in result:
try:
cm = []
cm.append(('Remove from Queue', 'RunPlugin(%s?mode=removeDownload&url=%s)' % (sys.argv[0], urllib.quote_plus(i['url']))))
item = control.item(i['name'], iconImage=i['image'], thumbnailImage=i['image'])
item.addContextMenuItems(cm, replaceItems=True)
item.setProperty('fanart_image', fanart)
item.setProperty('Video', 'true')
item.setProperty('IsPlayable', 'true')
control.addItem(handle=int(sys.argv[1]), url=i['url'], listitem=item)
except:
pass
control.directory(int(sys.argv[1]), cacheToDisc=True)
示例8: channelDirectory
def channelDirectory(self, items):
if items == None or len(items) == 0: return
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart = control.addonFanart()
sysaddon = sys.argv[0]
for i in items:
try:
label = "%s" % (i['name'])
sysname = urllib.quote_plus(i['name'])
poster, banner = i['poster'], i['poster']
if poster == '0': poster = addonPoster
if banner == '0' and poster == '0': banner = addonBanner
elif banner == '0': banner = poster
url = i['url']
item = control.item(label=label, iconImage=poster, thumbnailImage=poster)
try: item.setArt({'poster': poster, 'banner': banner})
except: pass
if not addonFanart == None:
item.setProperty('Fanart_Image', addonFanart)
item.setProperty('Video', 'true')
item.addContextMenuItems([], replaceItems=True)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False)
except:
pass
control.content(int(sys.argv[1]), 'video')
control.directory(int(sys.argv[1]), cacheToDisc=False)
views.setView('movies', {'skin.confluence': 500})
示例9: __init__
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
'''
import os, sys, urlparse, re, json
from resources.lib.libraries import client
from resources.lib.libraries import views
from resources.lib.libraries import control
artPath = control.artPath()
addonFanart = control.addonFanart()
sysaddon = sys.argv[0]
try: action = dict(urlparse.parse_qsl(sys.argv[2].replace('?','')))['action']
except: action = None
class livetv:
def __init__(self):
self.list = []
self.host = 'http://urhd.tv/'
self.url = 'http://urhd.tv/%s'
def makelist(self):
html = client.request(self.host)
html = client.replaceHTMLCodes(html)
示例10: tvshowDirectory
def tvshowDirectory(self, items):
if items == None or len(items) == 0: return
isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False
isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart, settingFanart = control.addonFanart(), control.setting('fanart')
sysaddon = sys.argv[0]
for i in items:
try:
label = i['name']
systitle = sysname = urllib.quote_plus(i['title'])
sysimage = urllib.quote_plus(i['poster'])
imdb, tmdb, tvdb, tvrage, year = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year']
try :sysurl, sysprovider = urllib.quote_plus(i['url']), i['provider']
except:pass
poster, banner, fanart = i['poster'], i['banner'], i['fanart']
if poster == '0': poster = addonPoster
if banner == '0' and poster == '0': banner = addonBanner
elif banner == '0': banner = poster
meta = dict((k,v) for k, v in i.iteritems() if not v == '0')
meta.update({'trailer': '%s?action=trailer&name=%s' % (sysaddon, sysname)})
if i['duration'] == '0': meta.update({'duration': '60'})
try: meta.update({'duration': str(int(meta['duration']) * 60)})
except: pass
sysmeta = urllib.quote_plus(json.dumps(meta))
action = 'episodes'
#if not (tvdb == '0' or tvdb == 'None'):
# action = 'seasons'
url = '%s?action=%s&provider=%s&url=%s&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s' % (sysaddon, action, sysprovider, sysurl, systitle, year, imdb, tmdb, tvdb, tvrage)
cm = []
if isFolder == False:
cm.append((control.lang(30232).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon))
#cm.append((control.lang(30214).encode('utf-8'), 'RunPlugin(%s?action=trailer&name=%s)' % (sysaddon, sysname)))
cm.append((control.lang(30233).encode('utf-8'), 'Action(Info)'))
if not action == 'tvSearch':
cm.append((control.lang(30234).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=7)' % (sysaddon, systitle, year, imdb, tvdb)))
cm.append((control.lang(30235).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=6)' % (sysaddon, systitle, year, imdb, tvdb)))
#if action == 'tvFavourites':
# cm.append((control.lang(30238).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta)))
#elif action.startswith('tvSearch'):
# cm.append((control.lang(30237).encode('utf-8'), 'RunPlugin(%s?action=addFavourite&meta=%s&query=0&content=tvshows)' % (sysaddon, sysmeta)))
#cm.append((control.lang(30239).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage)))
cm.append((control.lang(30240).encode('utf-8'), 'RunPlugin(%s?action=addView&content=tvshows)' % sysaddon))
item = control.item(label=label, iconImage=poster, thumbnailImage=poster)
try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner})
except: pass
if settingFanart == 'true' and not fanart == '0':
item.setProperty('Fanart_Image', fanart)
elif not addonFanart == None:
item.setProperty('Fanart_Image', addonFanart)
item.setInfo(type='Video', infoLabels = meta)
item.setProperty('Video', 'true')
item.addContextMenuItems(cm, replaceItems=True)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True)
except:
pass
control.content(int(sys.argv[1]), 'tvshows')
views.setView('tvshows', {'skin.confluence': control.viewMode['mediainfo1']})
control.directory(int(sys.argv[1]), cacheToDisc=True)
示例11: movieDirectory
def movieDirectory(self, items, provider=None, lang=None):
if items == None or len(items) == 0: return
isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False
isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder
playbackMenu = control.lang(30204).encode('utf-8') if control.setting('autoplay') == 'true' else control.lang(30203).encode('utf-8')
cacheToDisc = False if not action == 'movieSearch' else True
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart, settingFanart = control.addonFanart(), control.setting('fanart')
sysaddon = sys.argv[0]
try:
from metahandler import metahandlers
metaget = metahandlers.MetaData(tmdb_api_key=self.tmdb_key, preparezip=False)
except:
pass
for i in items:
try:
label = i['name']
sysname = urllib.quote_plus(label)
systitle = urllib.quote_plus(i['title'])
imdb, tmdb, year = i['imdb'], i['tmdb'], i['year']
poster, banner, fanart = i['poster'], i['banner'], i['fanart']
if poster == '0': poster = addonPoster
if banner == '0' and poster == '0': banner = addonBanner
elif banner == '0': banner = poster
meta = dict((k,v) for k, v in i.iteritems() if not v == '0')
meta.update({'trailer': '%s?action=trailer&name=%s' % (sysaddon, sysname)})
if i['duration'] == '0': meta.update({'duration': '120'})
try: meta.update({'duration': str(int(meta['duration']) * 60)})
except: pass
sysmeta = urllib.quote_plus(json.dumps(meta))
url = '%s?action=play&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&meta=%s&t=%s' % (sysaddon, sysname, systitle, year, imdb, tmdb, sysmeta, self.systime)
sysurl = urllib.quote_plus(url)
if isFolder == True:
url = '%s?action=sources&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&meta=%s' % (sysaddon, sysname, systitle, year, imdb, tmdb, sysmeta)
try:
playcount = metaget._get_watched('movie', imdb, '', '')
if playcount == 7: meta.update({'playcount': 1, 'overlay': 7})
else: meta.update({'playcount': 0, 'overlay': 6})
except:
pass
cm = []
cm.append((playbackMenu, 'RunPlugin(%s?action=alterSources&url=%s&meta=%s)' % (sysaddon, sysurl, sysmeta)))
cm.append((control.lang(30214).encode('utf-8'), 'RunPlugin(%s?action=trailer&name=%s)' % (sysaddon, sysname)))
cm.append((control.lang(30205).encode('utf-8'), 'Action(Info)'))
if not action == 'movieSearch':
cm.append((control.lang(30206).encode('utf-8'), 'RunPlugin(%s?action=moviePlaycount&title=%s&year=%s&imdb=%s&query=7)' % (sysaddon, systitle, year, imdb)))
cm.append((control.lang(30207).encode('utf-8'), 'RunPlugin(%s?action=moviePlaycount&title=%s&year=%s&imdb=%s&query=6)' % (sysaddon, systitle, year, imdb)))#
cm.append((control.lang(30212).encode('utf-8'), 'RunPlugin(%s?action=addView&content=movies)' % sysaddon))
item = control.item(label=label, iconImage=poster, thumbnailImage=poster)
try: item.setArt({'poster': poster, 'banner': banner})
except: pass
if settingFanart == 'true' and not fanart == '0':
item.setProperty('Fanart_Image', fanart)
elif not addonFanart == None:
item.setProperty('Fanart_Image', addonFanart)
item.setInfo(type='Video', infoLabels = meta)
item.setProperty('Video', 'true')
#item.setProperty('IsPlayable', 'true')
item.addContextMenuItems(cm, replaceItems=True)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=isFolder)
except:
pass
try:
url = items[0]['next']
if url == '': raise Exception()
url = '%s?action=movies&url=%s&provider=%s&lang=%s' % (sysaddon, urllib.quote_plus(url), provider, lang)
addonNext = control.addonNext()
item = control.item(label=control.lang(30213).encode('utf-8'), iconImage=addonNext, thumbnailImage=addonNext)
item.addContextMenuItems([], replaceItems=False)
if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True)
except:
pass
#.........这里部分代码省略.........
示例12: episodeDirectory
def episodeDirectory(self, items, provider=None):
if items == None or len(items) == 0: return
isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False
isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder
playbackMenu = control.lang(30271).encode('utf-8') if control.setting('autoplay') == 'true' else control.lang(30270).encode('utf-8')
cacheToDisc = False
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart, settingFanart = control.addonFanart(), control.setting('fanart')
sysaddon = sys.argv[0]
try: multi = [i['tvshowtitle'] for i in items]
except: multi = []
multi = len([x for y,x in enumerate(multi) if x not in multi[:y]])
multi = True if multi > 1 else False
try: sysaction = items[0]['action']
except: sysaction = ''
for i in items:
try:
try :
if i['title'] == '0':
label = '%sx%02d . %s %s' % (i['season'], int(i['episode']), 'Episode', i['episode'])
else:
label = '%sx%02d . %s' % (i['season'], int(i['episode']), i['title'])
except:
label = i['title']
if multi == True:
label = '%s - %s' % (i['tvshowtitle'], label)
systitle = sysname = urllib.quote_plus(i['tvshowtitle'])
episodetitle, episodename = urllib.quote_plus(i['title']), urllib.quote_plus(i['name'])
syspremiered = urllib.quote_plus(i['premiered'])
imdb, tmdb, tvdb, tvrage, year, season, episode, alter = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year'], i['season'], i['episode'], i['alter']
poster, banner, fanart, thumb = i['poster'], i['banner'], i['fanart'], i['thumb']
if poster == '0': poster = addonPoster
if banner == '0' and poster == '0': banner = addonBanner
elif banner == '0': banner = poster
if thumb == '0' and fanart == '0': thumb = addonFanart
elif thumb == '0': thumb = fanart
meta = dict((k,v) for k, v in i.iteritems() if not v == '0')
meta.update({'trailer': '%s?action=trailer&name=%s' % (sysaddon, sysname)})
if i['duration'] == '0': meta.update({'duration': '60'})
try: meta.update({'duration': str(int(meta['duration']) * 60)})
except: pass
sysmeta = urllib.quote_plus(json.dumps(meta))
url = '%s?action=play&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s&tvshowtitle=%s&alter=%s&date=%s&meta=%s&t=%s' % (sysaddon, episodename, episodetitle, year, imdb, tmdb, tvdb, tvrage, season, episode, systitle, alter, syspremiered, sysmeta, self.systime)
sysurl = urllib.quote_plus(url)
if isFolder == True:
url = '%s?action=sources&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s&tvshowtitle=%s&alter=%s&date=%s&meta=%s&provider=%s' % (sysaddon, episodename, episodetitle, year, imdb, tmdb, tvdb, tvrage, season, episode, systitle, alter, syspremiered, sysmeta, provider)
if sysaction == 'episodes':
url = '%s?action=episodes&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage, season, episode)
isFolder = True ; cacheToDisc = True
cm = []
cm.append((playbackMenu, 'RunPlugin(%s?action=alterSources&url=%s&meta=%s)' % (sysaddon, sysurl, sysmeta)))
if isFolder == False:
cm.append((control.lang(30261).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon))
cm.append((control.lang(30272).encode('utf-8'), 'Action(Info)'))
if multi == True:
cm.append((control.lang(30274).encode('utf-8'), 'ActivateWindow(Videos,%s?action=seasons&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s,return)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage)))
cm.append((control.lang(30263).encode('utf-8'), 'RunPlugin(%s?action=episodePlaycount&imdb=%s&tvdb=%s&season=%s&episode=%s&query=7)' % (sysaddon, imdb, tvdb, season, episode)))
cm.append((control.lang(30264).encode('utf-8'), 'RunPlugin(%s?action=episodePlaycount&imdb=%s&tvdb=%s&season=%s&episode=%s&query=6)' % (sysaddon, imdb, tvdb, season, episode)))
#cm.append((control.lang(30268).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage)))
cm.append((control.lang(30273).encode('utf-8'), 'RunPlugin(%s?action=addView&content=episodes)' % sysaddon))
item = control.item(label=label, iconImage=thumb, thumbnailImage=thumb)
try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner})
except: pass
if settingFanart == 'true' and not fanart == '0':
item.setProperty('Fanart_Image', fanart)
elif not addonFanart == None:
item.setProperty('Fanart_Image', addonFanart)
item.setInfo(type='Video', infoLabels = meta)
item.setProperty('Video', 'true')
#item.setProperty('IsPlayable', 'true')
item.setProperty('resumetime',str(0))
item.setProperty('totaltime',str(1))
item.addContextMenuItems(cm, replaceItems=True)
#.........这里部分代码省略.........
示例13: seasonDirectory
def seasonDirectory(self, items):
if items == None or len(items) == 0: return
isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False
isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart, settingFanart = control.addonFanart(), control.setting('fanart')
sysaddon = sys.argv[0]
for i in items:
try:
label = '%s %s' % ('Season', i['season'])
systitle = sysname = urllib.quote_plus(i['tvshowtitle'])
imdb, tmdb, tvdb, tvrage, year, season = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year'], i['season']
poster, banner, fanart, thumb = i['poster'], i['banner'], i['fanart'], i['thumb']
if poster == '0': poster = addonPoster
if banner == '0' and poster == '0': banner = addonBanner
elif banner == '0': banner = poster
if thumb == '0' and poster == '0': thumb = addonPoster
elif thumb == '0': thumb = poster
meta = dict((k,v) for k, v in i.iteritems() if not v == '0')
meta.update({'trailer': '%s?action=trailer&name=%s' % (sysaddon, sysname)})
if i['duration'] == '0': meta.update({'duration': '60'})
try: meta.update({'duration': str(int(meta['duration']) * 60)})
except: pass
sysmeta = urllib.quote_plus(json.dumps(meta))
url = '%s?action=episodes&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage, season)
cm = []
if isFolder == False:
cm.append((control.lang(30261).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon))
cm.append((control.lang(30262).encode('utf-8'), 'Action(Info)'))
cm.append((control.lang(30263).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&season=%s&query=7)' % (sysaddon, systitle, year, imdb, tvdb, season)))
cm.append((control.lang(30264).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&season=%s&query=6)' % (sysaddon, systitle, year, imdb, tvdb, season)))
#cm.append((control.lang(30267).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta)))
#cm.append((control.lang(30268).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage)))
cm.append((control.lang(30269).encode('utf-8'), 'RunPlugin(%s?action=addView&content=seasons)' % sysaddon))
item = control.item(label=label, iconImage=thumb, thumbnailImage=thumb)
try: item.setArt({'poster': thumb, 'tvshow.poster': poster, 'season.poster': thumb, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner})
except: pass
if settingFanart == 'true' and not fanart == '0':
item.setProperty('Fanart_Image', fanart)
elif not addonFanart == None:
item.setProperty('Fanart_Image', addonFanart)
item.setInfo(type='Video', infoLabels = meta)
item.setProperty('Video', 'true')
item.addContextMenuItems(cm, replaceItems=True)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True)
except:
pass
try: control.property(int(sys.argv[1]), 'showplot', items[0]['plot'])
except: pass
control.content(int(sys.argv[1]), 'seasons')
control.directory(int(sys.argv[1]), cacheToDisc=True)
views.setView('seasons', {'skin.confluence': 500})
示例14: tvshowDirectory
def tvshowDirectory(self, items):
if items == None or len(items) == 0: return
isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False
isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder
traktMode = False if trakt.getTraktCredentials() == False else True
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart, settingFanart = control.addonFanart(), control.setting('fanart')
sysaddon = sys.argv[0]
try:
favitems = favourites.getFavourites('tvshows')
favitems = [i[0] for i in favitems]
except:
pass
try:
if traktMode == False: raise Exception()
indicators = trakt.syncTVShows(timeout=720)
indicators = json.loads(indicators)
except:
pass
for i in items:
try:
label = i['name']
systitle = sysname = urllib.quote_plus(i['title'])
sysimage = urllib.quote_plus(i['poster'])
imdb, tmdb, tvdb, tvrage, year = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year']
poster, banner, fanart = i['poster'], i['banner'], i['fanart']
if poster == '0': poster = addonPoster
if banner == '0' and poster == '0': banner = addonBanner
elif banner == '0': banner = poster
meta = dict((k,v) for k, v in i.iteritems() if not v == '0')
meta.update({'trailer': '%s?action=trailer&name=%s' % (sysaddon, sysname)})
if i['duration'] == '0': meta.update({'duration': '60'})
try: meta.update({'duration': str(int(meta['duration']) * 60)})
except: pass
sysmeta = urllib.quote_plus(json.dumps(meta))
url = '%s?action=seasons&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage)
try:
if traktMode == False: raise Exception()
match = [i for i in indicators if str(i['show']['ids']['tvdb']) == tvdb][0]
num_1 = 0
for i in range(0, len(match['seasons'])): num_1 += len(match['seasons'][i]['episodes'])
num_2 = int(match['show']['aired_episodes'])
if num_1 >= num_2: meta.update({'playcount': 1, 'overlay': 7})
except:
pass
cm = []
if isFolder == False:
cm.append((control.lang(30232).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon))
cm.append((control.lang(30233).encode('utf-8'), 'Action(Info)'))
if not action == 'tvSearch':
cm.append((control.lang(30234).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=7)' % (sysaddon, systitle, year, imdb, tvdb)))
cm.append((control.lang(30235).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=6)' % (sysaddon, systitle, year, imdb, tvdb)))
if traktMode == True:
cm.append((control.lang(30236).encode('utf-8'), 'RunPlugin(%s?action=traktManager&name=%s&tvdb=%s&content=tvshow)' % (sysaddon, sysname, tvdb)))
if action == 'tvFavourites':
cm.append((control.lang(30238).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta)))
elif action.startswith('tvSearch'):
cm.append((control.lang(30237).encode('utf-8'), 'RunPlugin(%s?action=addFavourite&meta=%s&query=0&content=tvshows)' % (sysaddon, sysmeta)))
else:
if not imdb in favitems and not tvdb in favitems: cm.append((control.lang(30237).encode('utf-8'), 'RunPlugin(%s?action=addFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta)))
else: cm.append((control.lang(30238).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta)))
cm.append((control.lang(30239).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage)))
cm.append((control.lang(30240).encode('utf-8'), 'RunPlugin(%s?action=addView&content=tvshows)' % sysaddon))
item = control.item(label=label, iconImage=poster, thumbnailImage=poster)
try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner})
except: pass
if settingFanart == 'true' and not fanart == '0':
item.setProperty('Fanart_Image', fanart)
elif not addonFanart == None:
item.setProperty('Fanart_Image', addonFanart)
item.setInfo(type='Video', infoLabels = meta)
item.setProperty('Video', 'true')
item.addContextMenuItems(cm, replaceItems=True)
#.........这里部分代码省略.........
示例15: addItem
def addItem(self, name, title, year, imdb, tmdb, tvdb, tvrage, season, episode, tvshowtitle, alter, date, meta):
try:
imdb = "tt" + re.sub("[^0-9]", "", str(imdb))
content = "movie" if tvshowtitle == None else "episode"
self.sources = self.getSources(
name, title, year, imdb, tmdb, tvdb, tvrage, season, episode, tvshowtitle, alter, date
)
if self.sources == []:
raise Exception()
self.sources = self.sourcesFilter()
meta = json.loads(meta)
infoMenu = (
control.lang(30502).encode("utf-8") if content == "movie" else control.lang(30503).encode("utf-8")
)
poster = meta["poster"] if "poster" in meta else "0"
banner = meta["banner"] if "banner" in meta else "0"
thumb = meta["thumb"] if "thumb" in meta else poster
fanart = meta["fanart"] if "fanart" in meta else "0"
if poster == "0":
poster = control.addonPoster()
if banner == "0" and poster == "0":
banner = control.addonBanner()
elif banner == "0":
banner = poster
if thumb == "0" and fanart == "0":
thumb = control.addonFanart()
elif thumb == "0":
thumb = fanart
if control.setting("fanart") == "true" and not fanart == "0":
pass
else:
fanart = control.addonFanart()
sysaddon = sys.argv[0]
for i in self.sources:
try:
url, source, provider = i["url"], i["label"], i["provider"]
sysname, sysurl, sysimage, syssource, sysprovider = (
urllib.quote_plus(name),
urllib.quote_plus(url),
urllib.quote_plus(poster),
urllib.quote_plus(source),
urllib.quote_plus(provider),
)
query = "action=playItem&content=%s&name=%s&imdb=%s&tvdb=%s&url=%s&source=%s&provider=%s" % (
content,
sysname,
imdb,
tvdb,
sysurl,
syssource,
sysprovider,
)
cm = []
cm.append((control.lang(30504).encode("utf-8"), "RunPlugin(%s?action=queueItem)" % sysaddon))
# cm.append((control.lang(30505).encode('utf-8'), 'RunPlugin(%s?action=addDownload&name=%s&url=%s&image=%s&provider=%s)' % (sysaddon, sysname, sysurl, sysimage, sysprovider)))
cm.append((infoMenu, "Action(Info)"))
cm.append((control.lang(30506).encode("utf-8"), "RunPlugin(%s?action=refresh)" % sysaddon))
cm.append((control.lang(30507).encode("utf-8"), "RunPlugin(%s?action=openSettings)" % sysaddon))
cm.append((control.lang(30508).encode("utf-8"), "RunPlugin(%s?action=openPlaylist)" % sysaddon))
item = control.item(label=source, iconImage="DefaultVideo.png", thumbnailImage=thumb)
try:
item.setArt(
{
"poster": poster,
"tvshow.poster": poster,
"season.poster": poster,
"banner": banner,
"tvshow.banner": banner,
"season.banner": banner,
}
)
except:
pass
item.setInfo(type="Video", infoLabels=meta)
if not fanart == None:
item.setProperty("Fanart_Image", fanart)
item.setProperty("Video", "true")
item.setProperty("IsPlayable", "true")
item.addContextMenuItems(cm, replaceItems=True)
control.addItem(
handle=int(sys.argv[1]), url="%s?%s" % (sysaddon, query), listitem=item, isFolder=False
)
except:
pass
control.directory(int(sys.argv[1]), cacheToDisc=True)
except:
control.infoDialog(control.lang(30501).encode("utf-8"))
#.........这里部分代码省略.........