本文整理汇总了Python中resources.lib.modules.control.addonInfo函数的典型用法代码示例。如果您正苦于以下问题:Python addonInfo函数的具体用法?Python addonInfo怎么用?Python addonInfo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了addonInfo函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: addCategoryItem
def addCategoryItem(name, action, image, isFolder=True):
u = '%s?action=%s' % (sys.argv[0], str(action))
image = control.addonInfo('path') + '/resources/media/LwSLive/' + image
item = control.item(name, iconImage=image, thumbnailImage=image)
item.addContextMenuItems([], replaceItems=False)
item.setProperty('Fanart_Image', control.addonInfo('fanart'))
control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,isFolder=isFolder)
示例2: search
def search(self, query=None):
try:
if control.infoLabel('Container.PluginName') == '':
return control.dialog.ok('Exodus', control.lang(30518).encode('utf-8'), '', '')
if not control.infoLabel('ListItem.Title') == '':
self.query = control.window.getProperty('%s.movie.search' % control.addonInfo('id'))
elif query == None:
t = control.lang(30201).encode('utf-8')
k = control.keyboard('', t) ; k.doModal()
self.query = k.getText() if k.isConfirmed() else None
else:
self.query = query
if (self.query == None or self.query == ''): return
control.window.setProperty('%s.movie.search' % control.addonInfo('id'), self.query)
url = self.search_link % urllib.quote_plus(self.query)
self.list = cache.get(self.trakt_list, 0, url)
self.worker()
self.movieDirectory(self.list)
return self.list
except:
return
示例3: add_last_visited
def add_last_visited(anime_id):
try:
c = cache.get(masterani.get_anime_details, 8, anime_id)
lastEpisode = watched.Watched().watched(anime_id)
plot = c['plot']
premiered = c['premiered']
genre = c['genre']
type = c['type']
sysaddon = sys.argv[0]
addon_poster = addon_banner = control.addonInfo('icon')
addon_fanart = control.addonInfo('fanart')
item = control.item("Last Played: [I]%s[/I]" % (c['title']))
poster = "http://cdn.masterani.me/poster/%s" % c['poster']
fanart = "http://cdn.masterani.me/wallpaper/0/%s" % c['fanart'][0]
item.setArt({'poster': poster})
item.setProperty("Fanart_Image", fanart)
item.setInfo(type='Video', infoLabels={
'Plot': plot, 'Year': premiered, 'premiered': premiered,
'genre': genre, 'mediatype': 'tvshow'
})
url = '%s?action=get_episodes' % sysaddon
try: url += '&anime_id=%s' % anime_id
except: pass
control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True)
except:
pass
示例4: addDirectoryItem
def addDirectoryItem(name, url, action, image, image2, fanart, content, data, tvshow='0', totalItems=0, isFolder=True):
if not str(image).lower().startswith('http'): image = control.addonInfo('icon')
if not str(image2).lower().startswith('http'): image2 = control.addonInfo('icon')
if not str(fanart).lower().startswith('http'): fanart = control.addonInfo('fanart')
if content in ['movies', 'episodes']: playable = 'true'
else: playable = 'false'
sysaddon = sys.argv[0]
if url.startswith('$base64'):
import base64 ; url = base64.b64decode(re.compile('\$base64\[(.+?)\]$').findall(url)[0])
u = '%s?name=%s&url=%s&tvdb=&imdb=&source=GVideo&provider=Mpie&content=%s&action=playItem' % (sysaddon, urllib.quote_plus(name), urllib.quote_plus(url), str(content))
cm = []
if content == 'movies':
cm.append((control.lang(30708).encode('utf-8'), 'XBMC.Action(Info)'))
elif content in ['tvshows', 'seasons']:
cm.append((control.lang(30709).encode('utf-8'), 'XBMC.Action(Info)'))
elif content == 'episodes':
cm.append((control.lang(30710).encode('utf-8'), 'XBMC.Action(Info)'))
if content == 'movies' and not isFolder == True:
downloadFile = name
try: downloadFile = '%s (%s)' % (data['title'], data['year'])
except: pass
cm.append((control.lang(30722).encode('utf-8'), 'RunPlugin(%s?action=addDownload&name=%s&url=%s&image=%s)' % (sysaddon, urllib.quote_plus(downloadFile), urllib.quote_plus(url), urllib.quote_plus(image))))
elif content == 'episodes' and not isFolder == True:
downloadFile = name
try: downloadFile = '%s S%02dE%02d' % (data['tvshowtitle'], int(data['season']), int(data['episode']))
except: pass
cm.append((control.lang(30722).encode('utf-8'), 'RunPlugin(%s?action=addDownload&name=%s&url=%s&image=%s)' % (sysaddon, urllib.quote_plus(downloadFile), urllib.quote_plus(url), urllib.quote_plus(image))))
if content == 'movies':
cm.append((control.lang(30711).encode('utf-8'), 'RunPlugin(%s?action=addView&content=movies)' % sysaddon))
elif content == 'tvshows':
cm.append((control.lang(30712).encode('utf-8'), 'RunPlugin(%s?action=addView&content=tvshows)' % sysaddon))
elif content == 'seasons':
cm.append((control.lang(30713).encode('utf-8'), 'RunPlugin(%s?action=addView&content=seasons)' % sysaddon))
elif content == 'episodes':
cm.append((control.lang(30714).encode('utf-8'), 'RunPlugin(%s?action=addView&content=episodes)' % sysaddon))
item = control.item(name, iconImage='DefaultFolder.png', thumbnailImage=image)
try: item.setArt({'poster': image2, 'tvshow.poster': image2, 'season.poster': image2, 'banner': image, 'tvshow.banner': image, 'season.banner': image})
except: pass
item.addContextMenuItems(cm, replaceItems=False)
item.setProperty('Fanart_Image', fanart)
if playable == 'true': item.setProperty('IsPlayable', 'true')
item.setInfo(type='Video', infoLabels=data)
control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,totalItems=totalItems,isFolder=isFolder)
示例5: onPlayBackStopped
def onPlayBackStopped(self):
from resources.lib.modules import utils;
try:
pname = '%s.player.overlay' % control.addonInfo('id');
rname = '%s.player.resumetime' % control.addonInfo('id');
rtime = str(int(self.currentTime));
watcher = ((self.currentTime / self.totalTime) >= .9);
property = control.window.getProperty(pname);
'''self.item.setProperty("resumetime", str(1000))
control.window.setProperty(rname, str(1000));
self.item.setInfo(type='Video', infoLabels = {'resumetime':str(1000)});
control.refresh();'''
if watcher == True and not property == '7':
try:
control.window.setProperty(pname, '7');
except Exception as inst:
logger.error(inst);
pass;
utils.syncdbprogress(self.show_id, self.asset_id, self.content, self.currentTime, self.totalTime, True, '7');
elif watcher == False and not property == '6':
try:
control.window.setProperty(pname, '6');
except Exception as inst:
logger.error(inst);
pass;
utils.syncdbprogress(self.show_id, self.asset_id, self.content, self.currentTime, self.totalTime, True, '6');
else:
utils.syncdbprogress(self.show_id, self.asset_id, self.content, self.currentTime, self.totalTime, True, property);
'''else:
#We want to show the inprogress tag but it is not working
control.window.setProperty(rname, rtime);
control.refresh();'''
control.refresh();
except Exception as inst:
logger.error(inst);
pass;
示例6: add_favorites
def add_favorites():
try:
favorite = favorites.Favorites().list()
if len(favorite) > 0:
sysaddon = sys.argv[0]
addon_poster = addon_banner = control.addonInfo('icon')
addon_fanart = control.addonInfo('fanart')
item = control.item("Favorites")
url = '%s?action=%s' % (sysaddon, "favorites")
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)
except:
pass
示例7: worker
def worker(self):
try:
total = len(self.list)
threads = []
for i in range(0, total):
if i <= total: threads.append(workers.Thread(self.get_fanart, i))
[i.start() for i in threads]
timeout = 30
progress = control.progressDialog
progress.create(control.addonInfo('name'), '')
progress.update(0, line1="%s shows found." % total, line2="Loading information.")
print "Adding progress dialog with %s total shows" % total
for i in range(timeout * 2):
if xbmc.abortRequested == True: return sys.exit()
progress.update(int((100 / float(len(threads))) * len([x for x in threads if x.is_alive() is False])),
line3="%s remaining." % len([x for x in threads if x.is_alive() is True]))
if progress.iscanceled(): break
is_alive = [x.is_alive() for x in threads]
if all(x is False for x in is_alive): break
xbmc.sleep(100)
progress.close()
except:
pass
示例8: sourcesDirect
def sourcesDirect(self, progress=True):
filter = [i for i in self.sources if i['source'].lower() in self.hostcapDict and i['debrid'] == '']
self.sources = [i for i in self.sources if not i in filter]
self.sources = [i for i in self.sources if ('autoplay' in i and i['autoplay'] == True) or not 'autoplay' in i]
if control.setting("autoplay.sd") == 'true':
self.sources = [i for i in self.sources if not i['quality'] in ['1080p', 'HD']]
u = None
if progress == True:
self.progressDialog = control.progressDialog
self.progressDialog.create(control.addonInfo('name'), '')
self.progressDialog.update(0)
for i in range(len(self.sources)):
try:
if progress == True:
if self.progressDialog.iscanceled(): break
self.progressDialog.update(int((100 / float(len(self.sources))) * i), str(self.sources[i]['label']), str(' '))
if xbmc.abortRequested == True: return sys.exit()
url = self.sourcesResolve(self.sources[i])
if u == None: u = url
if not url == None: break
except:
pass
try: self.progressDialog.close()
except: pass
return u
示例9: root
def root(self):
self.addDirectoryItem(30001, 'movieNavigator', 'movies.png', 'DefaultMovies.png')
self.addDirectoryItem(30002, 'tvNavigator', 'tvshows.png', 'DefaultTVShows.png')
self.addDirectoryItem(30003, 'channels', 'channels.png', 'DefaultMovies.png')
if not control.setting('lists.widget') == '0':
self.addDirectoryItem(30004, 'myNavigator', 'userlists.png', 'DefaultVideoPlaylists.png')
if not control.setting('movie.widget') == '0':
self.addDirectoryItem(30005, 'movieWidget', 'latest-movies.png', 'DefaultRecentlyAddedMovies.png', queue=True)
if (traktIndicators == True and not control.setting('tv.widget.alt') == '0') or (traktIndicators == False and not control.setting('tv.widget') == '0'):
self.addDirectoryItem(30006, 'tvWidget', 'latest-episodes.png', 'DefaultRecentlyAddedEpisodes.png', queue=True)
if not control.setting('calendar.widget') == '0':
self.addDirectoryItem(30007, 'calendars', 'calendar.png', 'DefaultRecentlyAddedEpisodes.png')
self.addDirectoryItem(30008, 'toolNavigator', 'tools.png', 'DefaultAddonProgram.png')
downloads = True if control.setting('downloads') == 'true' and (len(control.listDir(control.setting('movie.download.path'))[0]) > 0 or len(control.listDir(control.setting('tv.download.path'))[0]) > 0) else False
if downloads == True:
self.addDirectoryItem(30010, 'downloadNavigator', 'downloads.png', 'DefaultFolder.png')
self.addDirectoryItem(30009, 'searchNavigator', 'search.png', 'DefaultFolder.png')
self.endDirectory()
from resources.lib.modules import cache
from resources.lib.modules import changelog
cache.get(changelog.get, 600000000, control.addonInfo('version'), table='changelog')
示例10: tvshows
def tvshows(tvshowtitle, imdb, tvdb, season, watched):
control.busy()
try:
import sys,xbmc
if not trakt.getTraktIndicatorsInfo() == False: raise Exception()
from metahandler import metahandlers
from resources.lib.indexers import episodes
metaget = metahandlers.MetaData(preparezip=False)
name = control.addonInfo('name')
dialog = control.progressDialogBG
dialog.create(str(name), str(tvshowtitle))
dialog.update(0, str(name), str(tvshowtitle))
metaget.get_meta('tvshow', name='', imdb_id=imdb)
items = episodes.episodes().get(tvshowtitle, '0', imdb, tvdb, '0', idx=False)
try: items = [i for i in items if int('%01d' % int(season)) == int('%01d' % int(i['season']))]
except: pass
items = [{'label': '%s S%02dE%02d' % (tvshowtitle, int(i['season']), int(i['episode'])), 'season': int('%01d' % int(i['season'])), 'episode': int('%01d' % int(i['episode']))} for i in items]
for i in range(len(items)):
if xbmc.abortRequested == True: return sys.exit()
dialog.update(int((100 / float(len(items))) * i), str(name), str(items[i]['label']))
season, episode = items[i]['season'], items[i]['episode']
metaget.get_episode_meta('', imdb_id=imdb, season=season, episode=episode)
metaget.change_watched('episode', '', imdb_id=imdb, season=season, episode=episode, watched=int(watched))
try: dialog.close()
except: pass
except:
try: dialog.close()
except: pass
try:
if trakt.getTraktIndicatorsInfo() == False: raise Exception()
if season:
from resources.lib.indexers import episodes
items = episodes.episodes().get(tvshowtitle, '0', imdb, tvdb, season, idx=False)
items = [(int(i['season']), int(i['episode'])) for i in items]
items = [i[1] for i in items if int('%01d' % int(season)) == int('%01d' % i[0])]
for i in items:
if int(watched) == 7: trakt.markEpisodeAsWatched(tvdb, season, i)
else: trakt.markEpisodeAsNotWatched(tvdb, season, i)
else:
if int(watched) == 7: trakt.markTVShowAsWatched(tvdb)
else: trakt.markTVShowAsNotWatched(tvdb)
trakt.cachesyncTVShows()
except:
pass
control.refresh()
示例11: 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')
示例12: addCategoryItem
def addCategoryItem(name, action, image, isFolder=True):
u = '%s?action=%s' % (sys.argv[0], str(action))
item = control.item(name, iconImage=image, thumbnailImage=image)
try: item.setArt({'icon': image})
except: pass
item.addContextMenuItems([], replaceItems=False)
item.setProperty('Fanart_Image', control.addonInfo('fanart'))
control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,isFolder=isFolder)
示例13: __init__
def __init__(self):
self.library_folder = os.path.join(control.transPath(control.setting("tv_library")), "")
self.library_setting = control.setting("update_library") or "true"
self.property = "%s_service_property" % control.addonInfo("name").lower()
self.datetime = datetime.datetime.utcnow() - datetime.timedelta(hours=5)
self.date = (self.datetime - datetime.timedelta(hours=24)).strftime("%Y%m%d")
self.infoDialog = False
示例14: __init__
def __init__(self):
self.library_folder = os.path.join(control.transPath(control.setting('library.tv')),'')
self.library_setting = control.setting('library.update') or 'true'
self.include_unknown = control.setting('library.include_unknown') or 'true'
self.property = '%s_service_property' % control.addonInfo('name').lower()
self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5))
self.date = (self.datetime - datetime.timedelta(hours = 24)).strftime('%Y%m%d')
self.infoDialog = False
示例15: promptForLogin
def promptForLogin(prompt=None):
import xbmcgui;
from resources.lib.modules import control;
__settings__ = xbmcaddon.Addon(control.addonInfo('id'))
if prompt:
if xbmcgui.Dialog().yesno(control.lang(32755).encode('utf-8'), control.lang(32756).encode('utf-8'), control.lang(32757).encode('utf-8')):
__settings__.openSettings();
else:
__settings__.openSettings();