本文整理汇总了Python中resources.lib.modules.control.execute函数的典型用法代码示例。如果您正苦于以下问题:Python execute函数的具体用法?Python execute怎么用?Python execute使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了execute函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: alterSources
def alterSources(self, url, meta):
try:
if control.setting('hosts.mode') == '2': url += '&select=1'
else: url += '&select=2'
control.execute('RunPlugin(%s)' % url)
except:
pass
示例2: browser
def browser(self, url):
try:
url = self.get(url)
if url == False: return
control.execute('RunPlugin(plugin://plugin.program.chrome.launcher/?url=%s&mode=showSite&stopPlayback=no)' % urllib.quote_plus(url))
except:
pass
示例3: play
def play(self, name, url=None, windowedtrailer=0):
try:
url = self.worker(name, url)
if not url: return
title = control.infoLabel('listitem.title')
if not title: title = control.infoLabel('listitem.label')
icon = control.infoLabel('listitem.icon')
item = control.item(path=url, iconImage=icon, thumbnailImage=icon)
try: item.setArt({'icon': icon})
except: pass
item.setInfo(type='Video', infoLabels={'title': title})
control.player.play(url, item, windowedtrailer)
if windowedtrailer == 1:
# The call to the play() method is non-blocking. So we delay further script execution to keep the script alive at this spot.
# Otherwise this script will continue and probably already be garbage collected by the time the trailer has ended.
control.sleep(1000) # Wait until playback starts. Less than 900ms is too short (on my box). Make it one second.
while control.player.isPlayingVideo():
control.sleep(1000)
# Close the dialog.
# Same behaviour as the fullscreenvideo window when :
# the media plays to the end,
# or the user pressed one of X, ESC, or Backspace keys on the keyboard/remote to stop playback.
control.execute("Dialog.Close(%s, true)" % control.getCurrentDialogId)
except:
pass
示例4: range
def range(self, url):
control.idle()
yes = control.yesnoDialog(control.lang(32555).encode('utf-8'), '', '')
if not yes: return
if not control.condVisibility('Window.IsVisible(infodialog)') and not control.condVisibility('Player.HasVideo'):
control.infoDialog(control.lang(32552).encode('utf-8'), time=10000000)
self.infoDialog = True
from resources.lib.indexers import tvshows
items = tvshows.tvshows().get(url, idx=False)
if items == None: items = []
for i in items:
try:
if xbmc.abortRequested == True: return sys.exit()
self.add(i['title'], i['year'], i['imdb'], i['tvdb'], range=True)
except:
pass
if self.infoDialog == True:
control.infoDialog(control.lang(32554).encode('utf-8'), time=1)
if self.library_setting == 'true' and not control.condVisibility('Library.IsScanningVideo'):
control.execute('UpdateLibrary(video)')
示例5: range
def range(self, url):
control.idle()
yes = control.yesnoDialog(control.lang(30425).encode("utf-8"), "", "")
if not yes:
return
if not control.condVisibility("Window.IsVisible(infodialog)") and not control.condVisibility("Player.HasVideo"):
control.infoDialog(control.lang(30421).encode("utf-8"), time=10000000)
self.infoDialog = True
from resources.lib.indexers import movies
items = movies.movies().get(url, idx=False)
if items == None:
items = []
for i in items:
try:
if xbmc.abortRequested == True:
return sys.exit()
self.add(i["name"], i["title"], i["year"], i["imdb"], range=True)
except:
pass
if self.infoDialog == True:
control.infoDialog(control.lang(30423).encode("utf-8"), time=1)
if self.library_setting == "true" and not control.condVisibility("Library.IsScanningVideo"):
control.execute("UpdateLibrary(video)")
示例6: add
def add(self, tvshowtitle, year, imdb, tvdb, range=False):
if not control.condVisibility('Window.IsVisible(infodialog)') and not control.condVisibility('Player.HasVideo'):
control.infoDialog(control.lang(32552).encode('utf-8'), time=10000000)
self.infoDialog = True
from resources.lib.indexers import episodes
items = episodes.episodes().get(tvshowtitle, year, imdb, tvdb, idx=False)
try: items = [{'title': i['title'], 'year': i['year'], 'imdb': i['imdb'], 'tvdb': i['tvdb'], 'season': i['season'], 'episode': i['episode'], 'tvshowtitle': i['tvshowtitle'], 'premiered': i['premiered']} for i in items]
except: items = []
try:
if not self.dupe_setting == 'true': raise Exception()
if items == []: raise Exception()
id = [items[0]['imdb'], items[0]['tvdb']]
lib = control.jsonrpc('{"jsonrpc": "2.0", "method": "VideoLibrary.GetTVShows", "params": {"properties" : ["imdbnumber", "title", "year"]}, "id": 1}')
lib = unicode(lib, 'utf-8', errors='ignore')
lib = json.loads(lib)['result']['tvshows']
lib = [i['title'].encode('utf-8') for i in lib if str(i['imdbnumber']) in id or (i['title'].encode('utf-8') == items[0]['tvshowtitle'] and str(i['year']) == items[0]['year'])][0]
lib = control.jsonrpc('{"jsonrpc": "2.0", "method": "VideoLibrary.GetEpisodes", "params": {"filter":{"and": [{"field": "tvshow", "operator": "is", "value": "%s"}]}, "properties": ["season", "episode"]}, "id": 1}' % lib)
lib = unicode(lib, 'utf-8', errors='ignore')
lib = json.loads(lib)['result']['episodes']
lib = ['S%02dE%02d' % (int(i['season']), int(i['episode'])) for i in lib]
items = [i for i in items if not 'S%02dE%02d' % (int(i['season']), int(i['episode'])) in lib]
except:
pass
files_added = 0
for i in items:
try:
if xbmc.abortRequested == True: return sys.exit()
if self.check_setting == 'true':
if i['episode'] == '1':
self.block = True
src = lib_tools.check_sources(i['title'], i['year'], i['imdb'], i['tvdb'], i['season'], i['episode'], i['tvshowtitle'], i['premiered'])
if src: self.block = False
if self.block == True: raise Exception()
premiered = i.get('premiered', '0')
if (premiered != '0' and int(re.sub('[^0-9]', '', str(premiered))) > int(self.date)) or (premiered == '0' and not self.include_unknown):
continue
self.strmFile(i)
files_added += 1
except:
pass
if range == True: return
if self.infoDialog == True:
control.infoDialog(control.lang(32554).encode('utf-8'), time=1)
if self.library_setting == 'true' and not control.condVisibility('Library.IsScanningVideo') and files_added > 0:
control.execute('UpdateLibrary(video)')
示例7: search
def search(self, query=None):
if query is None:
keydialog = control.keyboard('', "Enter Search")
keydialog.doModal()
self.query = keydialog.getText() if keydialog.isConfirmed() else None
else:
self.query = query
if self.query is None or self.query is '':
return
if query is None:
control.execute("Container.Update(%s?action=search&query=%s, false)" % (sys.argv[0], self.query))
return
result = client.request("http://www.masterani.me/api/anime/search?search=%s&sb=true" % self.query)
result = json.loads(result)
print result
if len(result) is 0:
return
for i in result:
self.list.append({'anime_id': i['id'], 'status': 1})
self.worker()
self.add_directory(self.list)
示例8: alterSources
def alterSources(self, url, meta):
try:
setting = control.setting('autoplay')
if setting == 'false': url += '&url=direct://'
else: url += '&url=dialog://'
control.execute('RunPlugin(%s)' % url)
except:
pass
示例9: play
def play(self, url, content=None):
try:
base = url
url = resolver().get(url)
if url == False: return
control.execute('ActivateWindow(busydialog)')
url = resolver().process(url)
control.execute('Dialog.Close(busydialog)')
if url == None: return control.infoDialog(control.lang(30705).encode('utf-8'))
if url == False: return
meta = {}
for i in ['title', 'originaltitle', 'tvshowtitle', 'year', 'season', 'episode', 'genre', 'rating', 'votes', 'director', 'writer', 'plot', 'tagline']:
try: meta[i] = control.infoLabel('listitem.%s' % i)
except: pass
meta = dict((k,v) for k, v in meta.iteritems() if not v == '')
if not 'title' in meta: meta['title'] = control.infoLabel('listitem.label')
icon = control.infoLabel('listitem.icon')
self.name = meta['title'] ; self.year = meta['year'] if 'year' in meta else '0'
self.getbookmark = True if (content == 'movies' or content == 'episodes') else False
self.offset = bookmarks().get(self.name, self.year)
if not 'tvplayer' in url:
if not 'itv' in url:
f4m = resolver().f4m(url, self.name)
if not f4m == None: return
item = control.item(path=url, iconImage=icon, thumbnailImage=icon)
try: item.setArt({'icon': icon})
except: pass
item.setInfo(type='Video', infoLabels = meta)
control.player.play(url, item)
control.resolve(int(sys.argv[1]), True, item)
self.totalTime = 0 ; self.currentTime = 0
for i in range(0, 240):
if self.isPlayingVideo(): break
control.sleep(1000)
while self.isPlayingVideo():
try:
self.totalTime = self.getTotalTime()
self.currentTime = self.getTime()
except:
pass
control.sleep(2000)
control.sleep(5000)
except:
pass
示例10: link
def link(self, url):
try:
url = self.get(url)
if url == False: return
control.execute('ActivateWindow(busydialog)')
url = self.process(url)
control.execute('Dialog.Close(busydialog)')
if url == None: return control.infoDialog(control.lang(30705).encode('utf-8'))
return url
except:
pass
示例11: search
def search(self):
try:
control.idle()
k = control.keyboard('', 'Zoeken') ; k.doModal()
q = k.getText() if k.isConfirmed() else None
if (q == None or q == ''): return
url = self.search_link % (urllib.quote_plus(q))
url = '%s?action=search_results&url=%s' % (sys.argv[0], urllib.quote_plus(url))
control.execute('Container.Update(%s)' % url)
except:
return
示例12: person
def person(self):
try:
control.idle()
t = control.lang(32010).encode('utf-8')
k = control.keyboard('', t) ; k.doModal()
q = k.getText() if k.isConfirmed() else None
if (q == None or q == ''): return
url = self.persons_link + urllib.quote_plus(q)
url = '%s?action=moviePersons&url=%s' % (sys.argv[0], urllib.quote_plus(url))
control.execute('Container.Update(%s)' % url)
except:
return
示例13: setView
def setView(content, viewDict=None):
for i in range(0, 200):
if control.condVisibility('Container.Content(%s)' % content):
try:
skin = control.skin
record = (skin, content)
dbcon = database.connect(control.viewsFile)
dbcur = dbcon.cursor()
dbcur.execute("SELECT * FROM views WHERE skin = '%s' AND view_type = '%s'" % (record[0], record[1]))
view = dbcur.fetchone()
view = view[2]
if view == None: raise Exception()
return control.execute('Container.SetViewMode(%s)' % str(view))
except:
try: return control.execute('Container.SetViewMode(%s)' % str(viewDict[skin]))
except: return
control.sleep(100)
示例14: person
def person(self, query=None):
try:
control.idle()
sysloc = [urlparse.urlparse(sys.argv[0]).netloc, 'plugin.program.super.favourites' ]
sysplg = True if control.infoLabel('Container.PluginName') in sysloc else False
if query == None:
t = control.lang(32010).encode('utf-8')
k = control.keyboard('', t) ; k.doModal()
query = k.getText() if k.isConfirmed() else None
if (query == None or query == '' or sysplg == False): return
url = self.persons_link + urllib.quote_plus(query)
url = '%s?action=moviePersons&url=%s' % (sys.argv[0], urllib.quote_plus(url))
control.execute('Container.Update(%s)' % url)
except:
return
示例15: add
def add(self, name, title, year, imdb, range=False):
if not control.condVisibility("Window.IsVisible(infodialog)") and not control.condVisibility("Player.HasVideo"):
control.infoDialog(control.lang(30421).encode("utf-8"), time=10000000)
self.infoDialog = True
try:
if not self.dupe_setting == "true":
raise Exception()
id = imdb
lib = control.jsonrpc(
'{"jsonrpc": "2.0", "method": "VideoLibrary.GetMovies", "params": {"filter":{"or": [{"field": "year", "operator": "is", "value": "%s"}, {"field": "year", "operator": "is", "value": "%s"}, {"field": "year", "operator": "is", "value": "%s"}]}, "properties" : ["imdbnumber", "originaltitle", "year"]}, "id": 1}'
% (year, str(int(year) + 1), str(int(year) - 1))
)
lib = unicode(lib, "utf-8", errors="ignore")
lib = json.loads(lib)["result"]["movies"]
lib = [
i
for i in lib
if str(i["imdbnumber"]) in id
or (i["originaltitle"].encode("utf-8") == title and str(i["year"]) == year)
][0]
except:
lib = []
try:
if not lib == []:
raise Exception()
self.strmFile({"name": name, "title": title, "year": year, "imdb": imdb})
except:
pass
if range == True:
return
control.infoDialog(control.lang(30423).encode("utf-8"), time=1)
if self.library_setting == "true" and not control.condVisibility("Library.IsScanningVideo"):
control.execute("UpdateLibrary(video)")