本文整理汇总了Python中resources.lib.modules.control.content函数的典型用法代码示例。如果您正苦于以下问题:Python content函数的具体用法?Python content怎么用?Python content使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了content函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: views
def views(self):
try:
control.idle()
items = [ (control.lang(32001).encode('utf-8'), 'movies'), (control.lang(32002).encode('utf-8'), 'tvshows'), (control.lang(32054).encode('utf-8'), 'seasons'), (control.lang(32038).encode('utf-8'), 'episodes') ]
select = control.selectDialog([i[0] for i in items], control.lang(32049).encode('utf-8'))
if select == -1: return
content = items[select][1]
title = control.lang(32059).encode('utf-8')
url = '%s?action=addView&content=%s' % (sys.argv[0], content)
poster, banner, fanart = control.addonPoster(), control.addonBanner(), control.addonFanart()
item = control.item(label=title)
item.setInfo(type='Video', infoLabels = {'title': title})
item.setArt({'icon': poster, 'thumb': poster, 'poster': poster, 'banner': banner})
item.setProperty('Fanart_Image', fanart)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False)
control.content(int(sys.argv[1]), content)
control.directory(int(sys.argv[1]), cacheToDisc=True)
from resources.lib.modules import cache
views.setView(content, {})
except:
return
示例2: listBollywood
def listBollywood(self, url, page):
try: html = client.request(url + 'page/' + str(page))
except: pass
syshandle = int(sys.argv[1])
result = client.parseDOM(html, 'article', attrs={'id': 'posts'})
result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'img', ret='src'), client.parseDOM(i, 'a')) for i in result]
result = [(i[0][0], i[1][0], i[2][1]) for i in result if len(i[0]) > 0 and len(i[1]) > 0 and len(i[2][1]) > 0]
for movie in result:
uri = movie[0]
image = movie[1]
name = movie[2]
action = 'resolveBollywoodUrl'
query = '%s?action=%s&name=%s&url=%s&image=%s' % (sysaddon, action, name, uri, image)
item = control.item(name, iconImage=image, thumbnailImage=image)
item.setInfo(type="Video", infoLabels={"Title": name, "OriginalTitle": name})
control.addItem(handle=int(sys.argv[1]), url=query, listitem=item, isFolder=True)
pageNum = int(page)+1
query = '%s?action=%s&url=%s&page=%s' % (sysaddon, 'listBollywood', url, pageNum)
item = control.item('Next page', iconImage='', thumbnailImage='')
item.setInfo(type="Video", infoLabels={"Title": 'Page ' + str(page), "OriginalTitle": 'Page ' + str(page)})
control.addItem(handle=syshandle, url=query, listitem=item, isFolder=True)
control.content(syshandle, 'movies')
control.directory(syshandle, cacheToDisc=True)
views.setView('movies', {'skin.estuary': 500, 'skin.confluence': 500})
示例3: 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 (%s)' % (i['channel'].upper(), i['title'], i['year'])
sysname = urllib.quote_plus('%s (%s)' % (i['title'], i['year']))
systitle = urllib.quote_plus(i['title'])
imdb, year = i['imdb'], 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&title=%s&year=%s&imdb=%s&meta=%s&t=%s' % (sysaddon, systitle, year, imdb, 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(30297).encode('utf-8'), 'RunPlugin(%s?action=trailer&name=%s)' % (sysaddon, sysname)))
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.do_block_check(False)
control.directory(int(sys.argv[1]), cacheToDisc=True)
示例4: endDirectory
def endDirectory(content, close):
if content in ['movies', 'tvshows', 'seasons', 'episodes']:
control.content(int(sys.argv[1]), content)
if close == True: control.directory(int(sys.argv[1]), cacheToDisc=True)
if close == True and content in ['movies', 'tvshows', 'seasons', 'episodes']:
views.setView(content)
示例5: addDirectory
def addDirectory(self, items, queue=False):
if items == None or len(items) == 0: control.idle() ; sys.exit()
sysaddon = sys.argv[0]
syshandle = int(sys.argv[1])
addonFanart, addonThumb, artPath = control.addonFanart(), control.addonThumb(), control.artPath()
queueMenu = control.lang(32065).encode('utf-8')
playRandom = control.lang(32535).encode('utf-8')
addToLibrary = control.lang(32551).encode('utf-8')
for i in items:
try:
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 = []
cm.append(('Settings', 'RunPlugin(%s?action=openSettings&query=0.0)' % sysaddon))
cm.append((playRandom, 'RunPlugin(%s?action=random&rtype=movie&url=%s)' % (sysaddon, urllib.quote_plus(i['url']))))
if queue == True:
cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon))
try: cm.append((addToLibrary, 'RunPlugin(%s?action=moviesToLibrary&url=%s)' % (sysaddon, urllib.quote_plus(i['context']))))
except: pass
item = control.item(label=name)
item.setArt({'icon': thumb, 'thumb': thumb})
if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
item.addContextMenuItems(cm)
control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True)
except:
pass
control.content(syshandle, 'addons')
control.directory(syshandle, cacheToDisc=True)
示例6: listEpisodes
def listEpisodes(self, catid, showid, page, image):
syshandle = int(sys.argv[1])
url = self.episodes_link % (showid, page)
cookie = 'ssMemberID=%d' % (self.member_id)
try: result = client.request(url, cookie=cookie)
except: pass
link = ''.join(result.splitlines()).replace('\'','"')
link = ''.join(link.splitlines()).replace('<i class="fa fa-play-circle-white"></i>','')
episodematch = re.compile('class="chapterList">(.+?)</li>').findall(link)
for em in episodematch:
episodes = re.compile('player-(.+)">(.+)</a>').findall(em)
for episode in episodes:
name = episode[1].decode('utf-8')
url = self.player_link % (episode[0])
self.list.append({'name': name, 'url': urllib.quote_plus(url), 'image': image})
for episode in self.list:
name = episode['name'].encode('utf-8')
url = episode['url']
image = episode['image']
action = 'sourcePage'
query = '?action=%s&image=%s&url=%s&name=%s' % (action, image, url, urllib.quote_plus(name))
url = '%s%s' % (sysaddon, query)
item = control.item(name, iconImage=image, thumbnailImage=image)
if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
item.setInfo(type="Video", infoLabels={"Title": name, "OriginalTitle": name})
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False)
# Pagination
# paginator = re.compile('<div class="page_list" align="center">(.+?)</ul>').findall(link)[0]
# pages = re.compile('>(\d+)</a>').findall(paginator)
# nextPage = int(page) + 1
# if nextPage < len(pages):
# action = 'listEpisodes'
# query = '?action=%s&page=%d&name=%s&catid=%s&showid=%s&image=%s' % (action, nextPage, 'Next Page', catid, showid, image)
# url = '%s%s' % (sysaddon, query)
# item = control.item('Next Page', iconImage=image, thumbnailImage=image)
# if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
# item.setInfo(type="Video", infoLabels={"Title": 'Next Page', "OriginalTitle": 'Next Page'})
# control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True)
control.content(syshandle, 'episodes')
control.directory(syshandle, cacheToDisc=True)
views.setView('episodes', {'skin.estuary': 55, 'skin.confluence': 50})
示例7: addDirectory
def addDirectory(self, items, queue=False, isFolder=True):
if items == None or len(items) == 0: control.idle() ; sys.exit()
sysaddon = sys.argv[0]
syshandle = int(sys.argv[1])
addonFanart, addonThumb, artPath = control.addonFanart(), control.addonThumb(), control.artPath()
queueMenu = control.lang(32065).encode('utf-8')
playRandom = control.lang(32535).encode('utf-8')
addToLibrary = control.lang(32551).encode('utf-8')
for i in items:
try:
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
item = control.item(label=name)
if isFolder:
url = '%s?action=%s' % (sysaddon, i['action'])
try: url += '&url=%s' % urllib.quote_plus(i['url'])
except: pass
item.setProperty('IsPlayable', 'false')
else:
url = '%s?action=%s' % (sysaddon, i['action'])
try: url += '&url=%s' % i['url']
except: pass
item.setProperty('IsPlayable', 'true')
item.setInfo("mediatype", "video")
item.setInfo("audio", '')
item.setArt({'icon': thumb, 'thumb': thumb})
if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder)
except:
pass
control.content(syshandle, 'addons')
control.directory(syshandle, cacheToDisc=True)
示例8: add_directory
def add_directory(items):
if items is None or len(items) == 0: return
sysaddon = sys.argv[0]
addon_poster = addon_banner = control.addonInfo('icon')
addon_fanart = control.addonInfo('fanart')
for i in items:
item = control.item(i['name'])
url = '%s?action=%s' % (sysaddon, i['action'])
item.setArt({'poster': addon_poster, 'banner': addon_banner})
item.setProperty('Fanart_Image', addon_fanart)
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True)
control.directory(int(sys.argv[1]), cacheToDisc=True)
control.content(int(sys.argv[1]), 'files')
示例9: addDirectory
def addDirectory(self, items, queue=False):
if items == None or len(items) == 0: control.idle() ; sys.exit()
sysaddon = sys.argv[0]
syshandle = int(sys.argv[1])
addonFanart = control.addonFanart()
addonThumb = control.addonThumb()
queueMenu = control.lang(32065).encode('utf-8')
for i in items:
try:
name = i['name']
url = '%s?action=%s' % (sysaddon, i['action'])
try: url += '&url=%s' % urllib.quote_plus(i['url'])
except: pass
cm = []
if queue == True:
cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon))
item = control.item(label=name)
if i['image'].startswith('http'):
iconIcon = iconThumb = iconPoster = iconBanner = i['image']
else:
iconIcon, iconThumb, iconPoster, iconBanner = interface.Icon.pathAll(icon = i['image'], default = addonThumb)
item.setArt({'icon': iconIcon, 'thumb': iconThumb, 'poster': iconPoster, 'banner': iconBanner})
if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
item.addContextMenuItems(cm)
control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True)
except:
pass
control.content(syshandle, 'addons')
control.directory(syshandle, cacheToDisc=True)
interface.traktApi()
示例10: list
def list(self, url):
html = client.request(url)
data = json.loads(html)
sortedData = sorted(data['items'], key=lambda d: int(d['episode']), reverse=True)
for item in sortedData:
url = self.embedUri % (item['id'])
if 'retina_image' in item['images']:
icon = item['images']['retina_image']
else:
icon = item['images']['nonretina_image']
if 'synopsis' in item:
info = item['synopsis']
else:
info = 'N/A'
self.addDir(item['seriesTitle'], info, url, 'playDutchShow', icon, False)
control.content(syshandle, 'episodes')
control.directory(syshandle, cacheToDisc=True)
views.setView('episodes', {'skin.estuary': 55, 'skin.confluence': 50})
示例11: index
def index(self):
url = self.baseUrl % (self.mainList)
html = client.request(url)
data = json.loads(html)
sortedData = sorted(data['items'], key=lambda d: d['title'])
for item in sortedData:
url = self.baseUrl % (self.showUri % (item['type'], item['id']))
if 'retina_image' in item['images']:
icon = item['images']['retina_image']
else:
icon = item['images']['nonretina_image']
if 'synopsis' in item:
info = item['synopsis']
else:
info = 'N/A'
self.addDir(item['title'], info, url, 'listDutchShow', icon)
control.content(syshandle, 'tvshows')
control.directory(syshandle, cacheToDisc=True)
views.setView('tvshows', {'skin.estuary': control.getSkin(control.setting('tvshows.viewtype')), 'skin.confluence': 500})
示例12: listShows
def listShows(self, catid, page):
syshandle = int(sys.argv[1])
limatch = []
url = self.shows_link % (catid, page)
try: result = client.request(url)
except: pass
data = json.loads(result)
pageContent = data['content'].encode('utf-8')
# todo: fix pagination
pages = range(2, 6)
limatch += re.compile('<figure>(.+?)</a></li>').findall(pageContent)
for li_content in limatch:
show = re.compile('program-(.+?)" target.+?src="(.+?)".+?h5>(.+?)</h5').findall(li_content)
title = show[0][2].decode('utf-8')
showid = show[0][0]
image = show[0][1]
if 'program_pic/program_' in image:
image = image.replace('../', self.img1)
else:
image = image.replace('../', self.img2)
image = image.replace('program_pic', '')
self.list.append({'name': title, 'showid': showid, 'image': image})
for show in self.list:
name = show['name'].encode('utf-8')
showid = show['showid']
image = show['image']
action = 'listEpisodes'
query = '?action=%s&name=%s&catid=%s&showid=%s&image=%s&page=1' % (action, name, catid, showid, image)
url = '%s%s' % (sysaddon, query)
item = control.item(name, iconImage=image, thumbnailImage=image)
if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
item.setInfo(type="Video", infoLabels={"Title": name, "OriginalTitle": name})
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True)
nextPage = int(page)
if nextPage <= len(pages):
if 'first' in pages:
pages.remove('first')
if 'pre' in pages:
pages.remove('pre')
if 'next' in pages:
pages.remove('next')
if 'last' in pages:
pages.remove('last')
for page in pages:
action = 'listShows'
pageNumber = int(page)
query = '?action=%s&page=%d&name=%s&catid=%s' % (action, int(page), 'Page ' + str(pageNumber), catid)
url = '%s%s' % (sysaddon, query)
item = control.item('Page ' + str(pageNumber), iconImage='', thumbnailImage='')
if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart)
item.setInfo(type="Video", infoLabels={"Title": 'Page ' + str(pageNumber), "OriginalTitle": 'Page ' + str(pageNumber)})
control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True)
control.content(syshandle, 'tvshows')
control.directory(syshandle, cacheToDisc=True)
views.setView('tvshows', {'skin.estuary': 500, 'skin.confluence': 500})
示例13: tvshowDirectory
def tvshowDirectory(self, items):
if items == None or len(items) == 0: return
isFolder = True if control.setting('autoplay') == 'false' and control.setting('hosts.mode') == '1' else False
isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder
traktCredentials = trakt.getTraktCredentialsInfo()
indicators = playcount.getTVShowIndicators()
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart, settingFanart = control.addonFanart(), control.setting('fanart')
sysaddon = sys.argv[0]
for i in items:
try:
label = i['title']
systitle = sysname = urllib.quote_plus(i['originaltitle'])
sysimage = urllib.quote_plus(i['poster'])
imdb, tvdb, year = i['imdb'], i['tvdb'], i['year']
poster, banner, fanart = i['poster'], i['banner'], i['fanart']
if banner == '0' and not poster == '0': banner = poster
if poster == '0': poster = addonPoster
if banner == '0': banner = addonBanner
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
try: meta.update({'genre': cleangenre.lang(meta['genre'], self.lang)})
except: pass
sysmeta = urllib.quote_plus(json.dumps(meta))
url = '%s?action=seasons&tvshowtitle=%s&year=%s&imdb=%s&tvdb=%s' % (sysaddon, systitle, year, imdb, tvdb)
try:
overlay = int(playcount.getTVShowOverlay(indicators, tvdb))
if overlay == 7: meta.update({'playcount': 1, 'overlay': 7})
else: meta.update({'playcount': 0, 'overlay': 6})
except:
pass
cm = []
if isFolder == False:
cm.append((control.lang(30232).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon))
if traktCredentials == True:
cm.append((control.lang(30236).encode('utf-8'), 'RunPlugin(%s?action=traktManager&name=%s&tvdb=%s&content=tvshow)' % (sysaddon, sysname, tvdb)))
cm.append((control.lang(30242).encode('utf-8'), 'RunPlugin(%s?action=trailer&name=%s)' % (sysaddon, sysname)))
cm.append((control.lang(30233).encode('utf-8'), 'Action(Info)'))
cm.append((control.lang(30234).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&imdb=%s&tvdb=%s&query=7)' % (sysaddon, systitle, imdb, tvdb)))
cm.append((control.lang(30235).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&imdb=%s&tvdb=%s&query=6)' % (sysaddon, systitle, imdb, tvdb)))
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
try:
url = items[0]['next']
if url == '': raise Exception()
url = '%s?action=tvshows&url=%s' % (sysaddon, urllib.quote_plus(url))
addonNext = control.addonNext()
item = control.item(label=control.lang(30241).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
control.content(int(sys.argv[1]), 'tvshows')
control.directory(int(sys.argv[1]), cacheToDisc=True)
views.setView('tvshows', {'skin.estuary': 54, 'skin.confluence': 500})
示例14: movieDirectory
def movieDirectory(self, items):
if items == None or len(items) == 0: control.idle() ; sys.exit()
sysaddon = sys.argv[0]
syshandle = int(sys.argv[1])
addonPoster, addonBanner = control.addonPoster(), control.addonBanner()
addonFanart, settingFanart = control.addonFanart(), control.setting('fanart')
traktCredentials = trakt.getTraktCredentialsInfo()
try: isOld = False ; control.item().getArt('type')
except: isOld = True
isEstuary = True if 'estuary' in control.skin else False
isPlayable = 'true' if not 'plugin' in control.infoLabel('Container.PluginName') else 'false'
indicators = playcount.getMovieIndicators(refresh=True) if action == 'movies' else playcount.getMovieIndicators()
playbackMenu = control.lang(32063).encode('utf-8') if control.setting('hosts.mode') == '2' else control.lang(32064).encode('utf-8')
watchedMenu = control.lang(32068).encode('utf-8') if trakt.getTraktIndicatorsInfo() == True else control.lang(32066).encode('utf-8')
unwatchedMenu = control.lang(32069).encode('utf-8') if trakt.getTraktIndicatorsInfo() == True else control.lang(32067).encode('utf-8')
queueMenu = control.lang(32065).encode('utf-8')
traktManagerMenu = control.lang(32070).encode('utf-8')
nextMenu = control.lang(32053).encode('utf-8')
for i in items:
try:
label = '%s (%s)' % (i['title'], i['year'])
imdb, title, year = i['imdb'], i['originaltitle'], i['year']
sysname = urllib.quote_plus('%s (%s)' % (title, year))
systitle = urllib.quote_plus(title)
poster, banner, fanart = i['poster'], i['banner'], i['fanart']
if banner == '0' and not fanart == '0': banner = fanart
elif banner == '0' and not poster == '0': banner = poster
if poster == '0': poster = addonPoster
if banner == '0': banner = addonBanner
meta = dict((k,v) for k, v in i.iteritems() if not v == '0')
meta.update({'mediatype': 'movie'})
#meta.update({'trailer': '%s?action=trailer&name=%s' % (sysaddon, sysname)})
meta.update({'trailer': 'plugin://script.extendedinfo/?info=playtrailer&&id=%s' % imdb})
if i['duration'] == '0': meta.update({'duration': '120'})
try: meta.update({'duration': str(int(meta['duration']) * 60)})
except: pass
try: meta.update({'genre': cleangenre.lang(meta['genre'], self.lang)})
except: pass
if isEstuary == True:
try: del meta['cast']
except: pass
sysmeta = urllib.quote_plus(json.dumps(meta))
url = '%s?action=play&title=%s&year=%s&imdb=%s&meta=%s&t=%s' % (sysaddon, systitle, year, imdb, sysmeta, self.systime)
sysurl = urllib.quote_plus(url)
path = '%s?action=play&title=%s&year=%s&imdb=%s' % (sysaddon, systitle, year, imdb)
cm = []
cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon))
try:
overlay = int(playcount.getMovieOverlay(indicators, imdb))
if overlay == 7:
cm.append((unwatchedMenu, 'RunPlugin(%s?action=moviePlaycount&imdb=%s&query=6)' % (sysaddon, imdb)))
meta.update({'playcount': 1, 'overlay': 7})
else:
cm.append((watchedMenu, 'RunPlugin(%s?action=moviePlaycount&imdb=%s&query=7)' % (sysaddon, imdb)))
meta.update({'playcount': 0, 'overlay': 6})
except:
pass
if traktCredentials == True:
cm.append((traktManagerMenu, 'RunPlugin(%s?action=traktManager&name=%s&imdb=%s&content=movie)' % (sysaddon, sysname, imdb)))
cm.append((playbackMenu, 'RunPlugin(%s?action=alterSources&url=%s&meta=%s)' % (sysaddon, sysurl, sysmeta)))
if isOld == True:
cm.append((control.lang2(19033).encode('utf-8'), 'Action(Info)'))
item = control.item(label=label)
item.setArt({'icon': poster, 'thumb': poster, 'poster': poster, 'banner': banner})
#.........这里部分代码省略.........
示例15: addDirectory
def addDirectory(self, items, queue=False):
if items == None or len(items) == 0: return
sysaddon = sys.argv[0]
addonPoster = addonBanner = control.addonInfo('icon')
addonFanart = control.addonInfo('fanart')
playlist = control.playlist
if not queue == False: playlist.clear()
try: devmode = True if 'testings.xml' in control.listDir(control.dataPath)[1] else False
except: devmode = False
mode = [i['content'] for i in items if 'content' in i]
if 'movies' in mode: mode = 'movies'
elif 'tvshows' in mode: mode = 'tvshows'
elif 'seasons' in mode: mode = 'seasons'
elif 'episodes' in mode: mode = 'episodes'
elif 'addons' in mode: mode = 'addons'
else: mode = 'videos'
for i in items:
try:
try: name = control.lang(int(i['name'])).encode('utf-8')
except: name = i['name']
url = '%s?action=%s' % (sysaddon, i['action'])
try: url += '&url=%s' % urllib.quote_plus(i['url'])
except: pass
try: url += '&content=%s' % urllib.quote_plus(i['content'])
except: pass
if i['action'] == 'plugin' and 'url' in i: url = i['url']
try: devurl = dict(urlparse.parse_qsl(urlparse.urlparse(url).query))['action']
except: devurl = None
if devurl == 'developer' and not devmode == True: raise Exception()
poster = i['poster'] if 'poster' in i else '0'
banner = i['banner'] if 'banner' in i else '0'
fanart = i['fanart'] if 'fanart' in i else '0'
if poster == '0': poster = addonPoster
if banner == '0' and poster == '0': banner = addonBanner
elif banner == '0': banner = poster
content = i['content'] if 'content' in i else '0'
folder = i['folder'] if 'folder' in i else True
meta = dict((k,v) for k, v in i.iteritems() if not v == '0')
cm = []
if content in ['movies', 'tvshows']:
meta.update({'trailer': '%s?action=trailer&name=%s' % (sysaddon, urllib.quote_plus(name))})
cm.append((control.lang(30707).encode('utf-8'), 'RunPlugin(%s?action=trailer&name=%s)' % (sysaddon, urllib.quote_plus(name))))
if content in ['movies', 'tvshows', 'seasons', 'episodes']:
cm.append((control.lang(30708).encode('utf-8'), 'XBMC.Action(Info)'))
if (folder == False and not '|regex=' in str(i.get('url'))) or (folder == True and content in ['tvshows', 'seasons']):
cm.append((control.lang(30723).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon))
if content == 'movies':
try: dfile = '%s (%s)' % (i['title'], i['year'])
except: dfile = name
try: cm.append((control.lang(30722).encode('utf-8'), 'RunPlugin(%s?action=addDownload&name=%s&url=%s&image=%s)' % (sysaddon, urllib.quote_plus(dfile), urllib.quote_plus(i['url']), urllib.quote_plus(poster))))
except: pass
elif content == 'episodes':
try: dfile = '%s S%02dE%02d' % (i['tvshowtitle'], int(i['season']), int(i['episode']))
except: dfile = name
try: cm.append((control.lang(30722).encode('utf-8'), 'RunPlugin(%s?action=addDownload&name=%s&url=%s&image=%s)' % (sysaddon, urllib.quote_plus(dfile), urllib.quote_plus(i['url']), urllib.quote_plus(poster))))
except: pass
elif content == 'songs':
try: cm.append((control.lang(30722).encode('utf-8'), 'RunPlugin(%s?action=addDownload&name=%s&url=%s&image=%s)' % (sysaddon, urllib.quote_plus(name), urllib.quote_plus(i['url']), urllib.quote_plus(poster))))
except: pass
if mode == 'movies':
cm.append((control.lang(30711).encode('utf-8'), 'RunPlugin(%s?action=addView&content=movies)' % sysaddon))
elif mode == 'tvshows':
cm.append((control.lang(30712).encode('utf-8'), 'RunPlugin(%s?action=addView&content=tvshows)' % sysaddon))
elif mode == 'seasons':
cm.append((control.lang(30713).encode('utf-8'), 'RunPlugin(%s?action=addView&content=seasons)' % sysaddon))
elif mode == 'episodes':
cm.append((control.lang(30714).encode('utf-8'), 'RunPlugin(%s?action=addView&content=episodes)' % sysaddon))
if devmode == True:
try: cm.append(('Open in browser', 'RunPlugin(%s?action=browser&url=%s)' % (sysaddon, urllib.quote_plus(i['url']))))
except: pass
item = control.item(label=name, 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 not fanart == '0':
item.setProperty('Fanart_Image', fanart)
elif not addonFanart == None:
item.setProperty('Fanart_Image', addonFanart)
#.........这里部分代码省略.........