本文整理汇总了Python中resources.lib.libraries.control.infoLabel函数的典型用法代码示例。如果您正苦于以下问题:Python infoLabel函数的具体用法?Python infoLabel怎么用?Python infoLabel使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了infoLabel函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: addView
def addView(content):
try:
skin = control.skin
skinPath = control.skinPath
xml = os.path.join(skinPath,'addon.xml')
file = control.openFile(xml)
read = file.read().replace('\n','')
file.close()
try: src = re.compile('defaultresolution="(.+?)"').findall(read)[0]
except: src = re.compile('<res.+?folder="(.+?)"').findall(read)[0]
src = os.path.join(skinPath, src)
src = os.path.join(src, 'MyVideoNav.xml')
file = control.openFile(src)
read = file.read().replace('\n','')
file.close()
views = re.compile('<views>(.+?)</views>').findall(read)[0]
views = [int(x) for x in views.split(',')]
for view in views:
label = control.infoLabel('Control.GetLabel(%s)' % (view))
if not (label == '' or label == None): break
record = (skin, content, str(view))
control.makeFile(control.dataPath)
dbcon = database.connect(control.databaseFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS views (""skin TEXT, ""view_type TEXT, ""view_id TEXT, ""UNIQUE(skin, view_type)"");")
dbcur.execute("DELETE FROM views WHERE skin = '%s' AND view_type = '%s'" % (record[0], record[1]))
dbcur.execute("INSERT INTO views Values (?, ?, ?)", record)
dbcon.commit()
viewName = control.infoLabel('Container.Viewmode')
control.infoDialog(control.lang(30491).encode('utf-8'), heading=viewName)
except:
return
示例2: run
def run(self, url):
title = control.infoLabel('ListItem.Label')
image = control.infoLabel('ListItem.Icon')
item = control.item(path=url, iconImage=image, thumbnailImage=image)
item.setInfo(type='Video', infoLabels = {'title': title})
control.player.play(url, item)
for i in range(0, 240):
if self.isPlayingVideo(): break
control.sleep(1000)
示例3: play
def play(self, name, title, year, imdb, tmdb, tvdb, tvrage, season, episode, tvshowtitle, alter, date, url):
try:
if imdb == "0":
imdb = "0000000"
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()
if control.window.getProperty("PseudoTVRunning") == "True":
url = self.sourcesDirect()
elif url == "dialog://":
url = self.sourcesDialog()
elif url == "direct://":
url = self.sourcesDirect()
elif (
not control.infoLabel("Container.FolderPath").startswith("plugin://")
and control.setting("autoplay_library") == "false"
):
url = self.sourcesDialog()
elif (
control.infoLabel("Container.FolderPath").startswith("plugin://")
and control.setting("autoplay") == "false"
):
url = self.sourcesDialog()
else:
url = self.sourcesDirect()
if url == None:
raise Exception()
if url == "close://":
return
if control.setting("playback_info") == "true":
control.infoDialog(self.selectedSource, heading=name)
from resources.lib.libraries.player import player
player().run(content, name, url, imdb, tvdb)
return url
except:
control.infoDialog(control.lang(30501).encode("utf-8"))
pass
示例4: playItem
def playItem(self, content, name, imdb, tvdb, source):
try:
next = []
prev = []
for i in range(1,1000000):
try:
u = control.infoLabel('ListItem(%s).FolderPath' % str(i))
u = json.loads(dict(urlparse.parse_qsl(u.replace('?','')))['source'])[0]
next.append(u)
except:
break
for i in range(-1000000,0)[::-1]:
try:
u = control.infoLabel('ListItem(%s).FolderPath' % str(i))
u = json.loads(dict(urlparse.parse_qsl(u.replace('?','')))['source'])[0]
prev.append(u)
except:
break
items = json.loads(source)
source, quality = items[0]['source'], items[0]['quality']
items = [i for i in items+next+prev if i['quality'] == quality and i['source'] == source][:15]
items += [i for i in next+prev if i['quality'] == quality and not i['source'] == source][:35]
block = None
for i in items:
try:
if i['source'] == block: raise Exception()
w = workers.Thread(self.sourcesResolve, i['url'], i['provider'])
w.start() ; time.sleep(20)
if w.is_alive() == True: block = i['source']
if self.url == None: raise Exception()
if control.setting('playback_info') == 'true':
control.infoDialog(i['label'], heading=name)
from resources.lib.libraries.player import player
player().run(content, name, self.url, imdb, tvdb)
return self.url
except:
pass
raise Exception()
except:
control.infoDialog(control.lang(30501).encode('utf-8'))
pass
示例5: play
def play(self, name, title, year, imdb, tmdb, tvdb, tvrage, season, episode, tvshowtitle, alter, date, meta, url):
try:
if not control.infoLabel('Container.FolderPath').startswith('plugin://'):
control.playlist.clear()
control.resolve(int(sys.argv[1]), True, control.item(path=None))
control.execute('Dialog.Close(okdialog)')
if imdb == '0': imdb = '0000000'
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()
if control.window.getProperty('PseudoTVRunning') == 'True':
url = self.sourcesDirect()
elif url == 'dialog://':
url = self.sourcesDialog()
elif url == 'direct://':
url = self.sourcesDirect()
elif not control.infoLabel('Container.FolderPath').startswith('plugin://') and control.setting('autoplay_library') == 'false':
url = self.sourcesDialog()
elif control.infoLabel('Container.FolderPath').startswith('plugin://') and control.setting('autoplay') == 'false':
url = self.sourcesDialog()
else:
url = self.sourcesDirect()
if url == None: raise Exception()
if url == 'close://': return
if control.setting('playback_info') == 'true':
control.infoDialog(self.selectedSource, heading=name)
try: self.progressDialog.close()
except: pass
control.sleep(200)
from resources.lib.libraries.player import player
player().run(content, name, url, year, imdb, tvdb, meta)
return url
except:
control.infoDialog(control.lang(30501).encode('utf-8'))
示例6: anime
def anime(self, url):
try:
if url == self.animesearch_link:
k = control.keyboard('', '') ; k.setHeading(control.infoLabel('ListItem.Label')) ; k.doModal()
if k.getText() == '' or not k.isConfirmed(): return
url = self.animesearch_link % urllib.quote_plus(k.getText())
self.list = cache.get(self.anime_list, 0, url)
for i in self.list: i.update({'action': 'phtoons.animestreams'})
for i in self.list: i.update({'fanart': self.anime_fanart})
self.addDirectory(self.list)
return self.list
except:
pass
示例7: cartoons
def cartoons(self, url):
try:
if url == self.cartoonsearch_link:
k = control.keyboard('', '') ; k.setHeading(control.infoLabel('ListItem.Label')) ; k.doModal()
if k.getText() == '' or not k.isConfirmed(): return
url = self.cartoonsearch_link % urllib.quote_plus(k.getText().split()[0])
self.list = cache.get(self.cartoon_list, 0, url)
for i in self.list: i.update({'nextaction': 'phtoons.cartoons', 'nexticon': self.cartoons_image % (random.randint(1,10)), 'nextfanart': self.cartoons_fanart})
for i in self.list: i.update({'action': 'phtoons.cartoonstreams'})
for i in self.list: i.update({'fanart': self.cartoons_fanart})
self.addDirectory(self.list)
return self.list
except:
pass
示例8: getVideoInfo
def getVideoInfo(self, content, name, year, imdb, tvdb):
try:
self.loadingTime = time.time()
self.totalTime = 0 ; self.currentTime = 0
self.folderPath = control.infoLabel('Container.FolderPath')
self.name = name ; self.year = year ; self.content = content
self.file = self.name + '.strm'
self.file = self.file.translate(None, '\/:*?"<>|').strip('.')
self.imdb = 'tt' + imdb if imdb.isdigit() else imdb
self.tvdb = tvdb if not tvdb == None else '0'
except:
pass
try:
if self.content == 'movie':
self.title = re.compile('(.+?) [(]\d{4}[)]$').findall(self.name)[0]
elif self.content == 'episode':
self.tvshowtitle, self.season, self.episode = re.compile('(.+?) S(\d*)E(\d*)$').findall(self.name)[0]
self.season, self.episode = '%01d' % int(self.season), '%01d' % int(self.episode)
self.file2 = '%s (%s) S%02dE%02d.strm' % (self.tvshowtitle.translate(None, '\/:*?"<>|'), self.year, int(self.season), int(self.episode))
elif self.content == 'live':
self.title = self.name
except:
pass
try:
if control.setting('resume_playback') == 'true':
self.offset = bookmarks.getBookmark(self.name, self.imdb)
if self.offset == '0': raise Exception()
minutes, seconds = divmod(float(self.offset), 60) ; hours, minutes = divmod(minutes, 60)
yes = control.yesnoDialog('%s %02d:%02d:%02d' % (control.lang(30461).encode('utf-8'), hours, minutes, seconds), '', '', self.name, control.lang(30463).encode('utf-8'), control.lang(30462).encode('utf-8'))
if yes: self.offset = '0'
except:
pass
try:
if self.content == 'movie':
control.window.setProperty('script.trakt.ids', json.dumps({'imdb': self.imdb}))
elif self.content == 'episode':
control.window.setProperty('script.trakt.ids', json.dumps({'tvdb': self.tvdb}))
except:
pass
示例9: manager
def manager(name, imdb, tvdb, content):
try:
post = {"movies": [{"ids": {"imdb": imdb}}]} if content == 'movie' else {"shows": [{"ids": {"tvdb": tvdb}}]}
items = [(control.lang(32516).encode('utf-8'), '/sync/collection')]
items += [(control.lang(32517).encode('utf-8'), '/sync/collection/remove')]
items += [(control.lang(32518).encode('utf-8'), '/sync/watchlist')]
items += [(control.lang(32519).encode('utf-8'), '/sync/watchlist/remove')]
items += [(control.lang(32520).encode('utf-8'), '/users/me/lists/%s/items')]
result = getTrakt('/users/me/lists')
result = json.loads(result)
lists = [(i['name'], i['ids']['slug']) for i in result]
lists = [lists[i//2] for i in range(len(lists)*2)]
for i in range(0, len(lists), 2):
lists[i] = ((control.lang(32521) % lists[i][0]).encode('utf-8'), '/users/me/lists/%s/items' % lists[i][1])
for i in range(1, len(lists), 2):
lists[i] = ((control.lang(32522) % lists[i][0]).encode('utf-8'), '/users/me/lists/%s/items/remove' % lists[i][1])
items += lists
select = control.selectDialog([i[0] for i in items], control.lang(32515).encode('utf-8'))
if select == -1:
return
elif select == 4:
t = control.lang(32520).encode('utf-8')
k = control.keyboard('', t) ; k.doModal()
new = k.getText() if k.isConfirmed() else None
if (new == None or new == ''): return
result = getTrakt('/users/me/lists', post={"name": new, "privacy": "private"})
try: slug = json.loads(result)['ids']['slug']
except: return control.infoDialog(control.lang(32515).encode('utf-8'), heading=str(name), sound=True, icon='ERROR')
result = getTrakt(items[select][1] % slug, post=post)
else:
result = getTrakt(items[select][1], post=post)
icon = control.infoLabel('ListItem.Icon') if not result == None else 'ERROR'
control.infoDialog(control.lang(32515).encode('utf-8'), heading=str(name), sound=True, icon=icon)
except:
return
示例10: NBANFL_Stream
def NBANFL_Stream(url, image, fanart):
try:
title = control.infoLabel("ListItem.Label")
html = client.request(url)
html = html.split(">english<")[-1]
link = client.parseDOM(html, "iframe", ret="src")[0]
link = link.replace("https://videoapi.my.mail.ru/videos/embed/mail/", "http://videoapi.my.mail.ru/videos/mail/")
link = link.replace("html", "json")
cookieJar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar), urllib2.HTTPHandler())
conn = urllib2.Request(link)
connection = opener.open(conn)
f = connection.read()
connection.close()
js = json.loads(f)
for cookie in cookieJar:
token = cookie.value
js = js["videos"]
for el in js:
addDirectoryItem(title, "Play_Main", image, image, fanart, url=el["url"] + "|Cookie=video_key=" + token)
endDirectory()
except:
pass
示例11: playItem
def playItem(self, content, name, year, imdb, tvdb, source):
try:
control.resolve(int(sys.argv[1]), True, control.item(path=''))
control.execute('Dialog.Close(okdialog)')
next = [] ; prev = [] ; total = []
meta = None
for i in range(1,10000):
try:
u = control.infoLabel('ListItem(%s).FolderPath' % str(i))
if u in total: raise Exception()
total.append(u)
u = dict(urlparse.parse_qsl(u.replace('?','')))
if 'meta' in u: meta = u['meta']
u = json.loads(u['source'])[0]
next.append(u)
except:
break
for i in range(-10000,0)[::-1]:
try:
u = control.infoLabel('ListItem(%s).FolderPath' % str(i))
if u in total: raise Exception()
total.append(u)
u = dict(urlparse.parse_qsl(u.replace('?','')))
if 'meta' in u: meta = u['meta']
u = json.loads(u['source'])[0]
prev.append(u)
except:
break
items = json.loads(source)
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()
m = ''
for x in range(3600):
if self.progressDialog.iscanceled(): return self.progressDialog.close()
if xbmc.abortRequested == True: return sys.exit()
k = control.condVisibility('Window.IsActive(virtualkeyboard)')
if k: m += '1'; m = m[-1]
if (w.is_alive() == False or x > 30) and not k: break
time.sleep(1)
for x in range(30):
if m == '': break
if self.progressDialog.iscanceled(): return self.progressDialog.close()
if xbmc.abortRequested == True: return sys.exit()
if w.is_alive() == False: break
time.sleep(1)
if w.is_alive() == True: block = items[i]['source']
if self.url == None: raise Exception()
try: self.progressDialog.close()
except: pass
control.sleep(200)
if control.setting('playback_info') == 'true':
control.infoDialog(items[i]['label'], heading=name)
from resources.lib.libraries.player import player
player().run(content, name, self.url, year, imdb, tvdb, meta)
return self.url
except:
pass
try: self.progressDialog.close()
except: pass
raise Exception()
except:
control.infoDialog(control.lang(30501).encode('utf-8'))
pass
示例12: playItem
def playItem(self, content, name, imdb, tvdb, source):
try:
next = []
prev = []
total = []
for i in range(1, 10000):
try:
u = control.infoLabel("ListItem(%s).FolderPath" % str(i))
if u in total:
raise Exception()
total.append(u)
u = json.loads(dict(urlparse.parse_qsl(u.replace("?", "")))["source"])[0]
next.append(u)
except:
break
for i in range(-10000, 0)[::-1]:
try:
u = control.infoLabel("ListItem(%s).FolderPath" % str(i))
if u in total:
raise Exception()
total.append(u)
u = json.loads(dict(urlparse.parse_qsl(u.replace("?", "")))["source"])[0]
prev.append(u)
except:
break
items = json.loads(source)
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]
import xbmc
dialog = control.progressDialog
dialog.create(control.addonInfo("name"), "")
dialog.update(0)
block = None
for i in range(len(items)):
try:
dialog.update(int((100 / float(len(items))) * i), str(items[i]["label"]))
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 dialog.iscanceled():
return dialog.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()
try:
dialog.close()
except:
pass
if control.setting("playback_info") == "true":
control.infoDialog(items[i]["label"], heading=name)
from resources.lib.libraries.player import player
player().run(content, name, self.url, imdb, tvdb)
return self.url
except:
pass
try:
dialog.close()
except:
pass
raise Exception()
except:
control.infoDialog(control.lang(30501).encode("utf-8"))
pass