本文整理汇总了Python中resources.lib.libraries.control.addonInfo函数的典型用法代码示例。如果您正苦于以下问题:Python addonInfo函数的具体用法?Python addonInfo怎么用?Python addonInfo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了addonInfo函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: addCategoryItem
def addCategoryItem(name, action, image, isFolder=True):
u = sys.argv[0]+"?action="+str(action)
image = control.addonInfo('path') + '/art/' + 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: 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)
示例3: img_parser
def img_parser(self, image, referer):
try:
if not image.startswith('http:'): image = 'http:' + image
d = control.windowDialog
result = client.request(image, referer=referer, close=False)
for match in re.finditer("<img\s+src='([^']+)'\s+width='(\d+)'\s+height='(\d+)'", result):
img_url, width, height = match.groups()
img_url = client.replaceHTMLCodes(img_url)
width = int(width)
height = int(height)
if width > 0 and height > 0:
left = (1280 - width) / 2
f = control.image(left, 0, width, height, img_url)
d.addControl(f)
else:
client.request(img_url, referer=image, close=False)
d.show()
control.dialog.ok(control.addonInfo('name'), str('Continue to Video'), '')
match = re.search("href='([^']+)", result)
if match and random.randint(0, 100) < 5:
client.request(match.group(1))
try: d.removeControl(f) ; d.close()
except: return
except:
try: d.removeControl(f) ; d.close()
except: return
示例4: sourcesDirect
def sourcesDirect(self):
self.sources = [i for i in self.sources if not i['source'] in self.hostcapDict]
self.sources = [i for i in self.sources if not (i['quality'] in ['1080p', 'HD'] and i['source'] in self.hosthdDict and not i['source'] in self.rdDict + self.pzDict)]
self.sources = [i for i in self.sources if not i['source'] in ['easynews', 'furk', 'vk']]
if control.setting("playback_auto_sd") == 'true':
self.sources = [i for i in self.sources if not i['quality'] in ['1080p', 'HD']]
u = None
self.progressDialog = control.progressDialog
self.progressDialog.create(control.addonInfo('name'), '')
self.progressDialog.update(0)
for i in range(len(self.sources)):
try:
self.progressDialog.update(int((100 / float(len(self.sources))) * i), str(self.sources[i]['label']), str(' '))
if self.progressDialog.iscanceled(): return self.progressDialog.close()
if xbmc.abortRequested == True: return sys.exit()
url = self.sourcesResolve(self.sources[i]['url'], self.sources[i]['provider'])
if url == None: raise Exception()
if u == None: u = url
self.selectedSource = self.sources[i]['label']
return url
except:
pass
return u
示例5: root
def root(self):
self.addDirectoryItem(30001, 'movieNavigator', 'movies.jpg', 'DefaultMovies.png')
self.addDirectoryItem(30002, 'tvNavigator', 'tvshows.jpg', 'DefaultTVShows.png')
self.addDirectoryItem(30003, 'channels', 'channels.jpg', 'DefaultMovies.png')
self.addDirectoryItem(30004, 'myNavigator', 'myspecto.jpg', 'DefaultVideoPlaylists.png')
if not control.setting('movie_widget') == '0':
self.addDirectoryItem(30005, 'movieWidget', 'moviesAdded.jpg', 'DefaultRecentlyAddedMovies.png')
if (traktMode == True and not control.setting('tv_alt_widget') == '0') or (traktMode == False and not control.setting('tv_widget') == '0'):
#self.addDirectoryItem(30006, 'tvWidget', 'calendarsAdded.jpg', 'DefaultRecentlyAddedEpisodes.png')
self.addDirectoryItem(30006, 'calendar&url=added', 'calendarsAdded.jpg', 'DefaultRecentlyAddedEpisodes.png')
if not control.setting('calendar_widget') == '0':
self.addDirectoryItem(30007, 'calendars', 'calendar.jpg', 'DefaultRecentlyAddedEpisodes.png')
self.addDirectoryItem(30008, 'toolNavigator', 'tools.jpg', 'DefaultAddonProgram.png')
self.addDirectoryItem(30009, 'searchNavigator', 'search.jpg', 'DefaultFolder.png')
self.endDirectory()
if ntptime.checkDate():
control.log('Error date time setup')
msg = control.lang(32020).encode('utf-8')
msg1 ='Go to settings, set your correct date and time'.encode('utf-8')
msg = 'You have to set your clock in your tv box.'.encode('utf-8')
control.dialog.ok(control.addonInfo('name'),'',msg, msg1 )
from resources.lib.libraries import cache
from resources.lib.libraries import changelog
示例6: img_parser
def img_parser(self, image, referer):
try:
if not image.startswith('http:'): image = 'http:' + image
result = client.request(image, referer=referer)
image, width, height = re.compile("<img\s+src='([^']+)'\s+width='(\d+)'\s+height='(\d+)'").findall(result)[0]
click = re.compile("href='([^']+)").findall(result)[0]
image = client.replaceHTMLCodes(image)
image = image.encode('utf-8')
width, height = int(width), int(height)
left = (1280 - width) / 2
if width <= 0 or height <= 0: raise Exception()
f = control.image(left,0,width,height, image)
d = control.windowDialog
d.addControl(f)
d.show()
client.request(image, referer=referer)
control.dialog.ok(control.addonInfo('name'), str('Continue to Video'), '')
if random.randint(0, 100) < 5:
client.request(click, referer=referer)
try: d.removeControl(f) ; d.close()
except: return
except:
try: d.removeControl(f) ; d.close()
except: return
示例7: sourcesDirect
def sourcesDirect(self):
u = None
self.progressDialog = control.progressDialog
self.progressDialog.create(control.addonInfo('name'), '')
self.progressDialog.update(0)
for i in range(len(self.sources)):
try:
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]['url'], self.sources[i]['provider'])
if url == None: raise Exception()
if u == None: u = url
self.selectedSource = self.sources[i]['label']
self.progressDialog.close()
return url
except:
pass
try: self.progressDialog.close()
except: pass
return u
示例8: __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
示例9: __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
示例10: sourcesDialog
def sourcesDialog(self):
try:
sources = [{'label': '00 | [B]%s[/B]' % control.lang(30509).encode('utf-8').upper()}] + self.sources
labels = [i['label'] for i in sources]
select = control.selectDialog(labels)
if select == 0: return self.sourcesDirect()
if select == -1: return 'close://'
items = [self.sources[select-1]]
next = [y for x,y in enumerate(self.sources) if x >= select]
prev = [y for x,y in enumerate(self.sources) if x < select][::-1]
source, quality = items[0]['source'], items[0]['quality']
items = [i for i in items+next+prev if i['quality'] == quality and i['source'] == source][:10]
items += [i for i in next+prev if i['quality'] == quality and not i['source'] == source][:10]
self.progressDialog = control.progressDialog
self.progressDialog.create(control.addonInfo('name'), '')
self.progressDialog.update(0)
block = None
for i in range(len(items)):
try:
self.progressDialog.update(int((100 / float(len(items))) * i), str(items[i]['label']), str(' '))
if items[i]['source'] == block: raise Exception()
w = workers.Thread(self.sourcesResolve, items[i]['url'], items[i]['provider'])
w.start()
for x in range(0, 15 * 2):
if self.progressDialog.iscanceled(): return self.progressDialog.close()
if xbmc.abortRequested == True: return sys.exit()
if w.is_alive() == False: break
time.sleep(0.5)
if w.is_alive() == True: block = items[i]['source']
if self.url == None: raise Exception()
self.selectedSource = items[i]['label']
return self.url
except:
pass
except:
return
示例11: tvshows
def tvshows(tvshowtitle, imdb, tvdb, season, watched):
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','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 Exception as e:
control.log('playcount %s' % e)
try: dialog.close()
except: pass
try:
if trakt.getTraktIndicatorsInfo() == False: raise Exception()
if int(watched) == 7: trakt.markTVShowAsWatched(tvdb)
else: trakt.markTVShowAsNotWatched(tvdb)
trakt.cachesyncTVShows()
except:
pass
control.refresh()
示例12: tvshows
def tvshows(tvshowtitle, year, imdb, tvdb, season, watched):
traktMode = False if trakt.getTraktCredentials() == False else True
watched = int(watched)
try:
if traktMode == True: raise Exception()
from metahandler import metahandlers
from resources.lib.indexers import episodes
metaget = metahandlers.MetaData(preparezip=False)
dialog = control.progressDialog
dialog.create(control.addonInfo('name'), str(tvshowtitle))
dialog.update(0, str(tvshowtitle), control.lang(30451).encode('utf-8') + '...')
metaget.get_meta('tvshow', '', imdb_id=imdb)
items = episodes.episodes().get(tvshowtitle, year, imdb, '0', tvdb, '0', idx=False)
try: items = [i for i in items if int('%01d' % int(season)) == int('%01d' % int(i['season']))]
except: pass
items = [{'name': i['name'], '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()
if dialog.iscanceled(): return dialog.close()
dialog.update(int((100 / float(len(items))) * i), str(tvshowtitle), str(items[i]['name']))
season, episode = items[i]['season'], items[i]['episode']
metaget.get_episode_meta('', imdb, season, episode)
metaget.change_watched('episode', '', imdb, season=season, episode=episode, year='', watched=watched)
try: dialog.close()
except: pass
except:
try: dialog.close()
except: pass
try:
if traktMode == False: raise Exception()
if watched == 7: trakt.markTVShowAsWatched(tvdb)
else: trakt.markTVShowAsNotWatched(tvdb)
trakt.syncTVShows()
except:
pass
control.refresh()
示例13: GETLINKS
def GETLINKS(url,name,iconimage):
storedname = name
resolved=None
randomitem = []
link=open_url(url)
match=re.compile('<a href="(.+?)" rel="nofollow" title="(.+?)" target="_blank">').findall(link)
match2=re.compile('<a href=".+?" rel="nofollow" title="(.+?)" target="_blank">').findall(link)
# match2.group()
originalep = name
autoplay = selfAddon.getSetting('enable_autoplay')
for url,name in match:
url = "http://www.watchfree.to" + url
randomitem.append([url, name])
index = random.randrange(1, len(randomitem))
playrandom = randomitem[index][0]
for url,name in match:
if xbmc.Player().isPlaying(): return
if autoplay=='false':
url = "http://www.watchfree.to" + url
url2 = "autoplay"
host=url.split('/')[2].replace('www.','').capitalize()
addLink(originalep +' >>> ' ,url,100,icon5,fanart)
else:
if not xbmc.Player().isPlaying():
try:
stdurl = url
url = "http://www.watchfree.to" + url
index = random.randrange(1, len(match))
playrandom = randomitem[index][0]
progressDialog = control.progressDialog
progressDialog.create(control.addonInfo('name'), '')
progressDialog.update(0, 'Trying: sources', 'Please wait...')
req = urllib2.Request(playrandom)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
response = urllib2.urlopen(req)
link=response.geturl()
xbmc.sleep(1000)
liz=xbmcgui.ListItem(name, iconImage=icon,thumbnailImage=icon); liz.setInfo( type="Video", infoLabels={ "Title": storedname } )
stream_url = urlresolver.HostedMediaFile(link).resolve()
xbmc.Player ().play(stream_url, liz, False)
xbmc.sleep(1000)
addDir('Testlog:'+url,'',8,'','')
except:addDir(url +' not working','',8,'','')
addDir('Press Here to Exit','',8,'','')
示例14: root
def root(self):
self.addDirectoryItem('Movies', 'movieNavigator', 'root_movies.jpg', 'DefaultMovies.png')
self.addDirectoryItem('Series', 'tvNavigator', 'root_shows.jpg', 'DefaultMovies.png')
self.addDirectoryItem('Thai Live TV', 'thaiLiveTV', 'root_livetv.jpg', 'DefaultMovies.png')
self.addDirectoryItem('Thai Shows', 'thaiShows', 'root_thai.jpg', 'DefaultMovies.png')
self.addDirectoryItem('Thai Shows 2', 'thaiShows2', 'root_thai.jpg', 'DefaultMovies.png')
self.addDirectoryItem('Live TV', 'liveTV', 'root_livetv.png', 'DefaultMovies.png')
self.addDirectoryItem('Bollywood', 'bollywood', 'bollywood.jpg', 'DefaultMovies.png')
self.addDirectoryItem('Cartoons', 'cartoons', 'cartoons.png', 'DefaultMovies.png')
self.addDirectoryItem(30119, 'clearSources', 'experiment.jpg', 'DefaultAddonProgram.png')
#self.addDirectoryItem('1080P Movies', '1080p', 'hd-logo.png', 'DefaultMovies.png')
#self.addDirectoryItem('Experiment', 'thaiShows2', 'experiment.jpg', 'DefaultMovies.png')
#self.addDirectoryItem('Working on DooFree 3.0 to make things faster', '', '', 'DefaultMovies.png')
'''
if (traktMode == True and not control.setting('tv_alt_widget') == '0') or (traktMode == False and not control.setting('tv_widget') == '0'):
self.addDirectoryItem(30006, 'tvWidget', 'calendarsAdded.jpg', 'DefaultRecentlyAddedEpisodes.png')
'''
self.endDirectory()
views.setView('movies', {'skin.confluence': 500})
from resources.lib.libraries import cache
from resources.lib.libraries import changelog
cache.get(changelog.get, 600000000, control.addonInfo('version'))
示例15: root
def root(self):
self.addDirectoryItem(30001, 'movieNavigator', 'movies.jpg', 'DefaultMovies.png')
self.addDirectoryItem(30002, 'tvNavigator', 'tvshows.jpg', 'DefaultTVShows.png')
self.addDirectoryItem(30003, 'channels', 'channels.jpg', 'DefaultMovies.png')
self.addDirectoryItem(30004, 'myNavigator', 'mygenesis.jpg', 'DefaultVideoPlaylists.png')
if not control.setting('movie_widget') == '0':
self.addDirectoryItem(30005, 'movieWidget', 'moviesAdded.jpg', 'DefaultRecentlyAddedMovies.png')
if (traktMode == True and not control.setting('tv_alt_widget') == '0') or (traktMode == False and not control.setting('tv_widget') == '0'):
self.addDirectoryItem(30006, 'tvWidget', 'calendarsAdded.jpg', 'DefaultRecentlyAddedEpisodes.png')
if not control.setting('calendar_widget') == '0':
self.addDirectoryItem(30007, 'calendars', 'calendar.jpg', 'DefaultRecentlyAddedEpisodes.png')
self.addDirectoryItem(30008, 'toolNavigator', 'tools.jpg', 'DefaultAddonProgram.png')
self.addDirectoryItem(30009, 'searchNavigator', 'search.jpg', 'DefaultFolder.png')
self.endDirectory()
from resources.lib.libraries import cache
from resources.lib.libraries import changelog
cache.get(changelog.get, 600000000, control.addonInfo('version'), table='changelog')