本文整理汇总了Python中resources.lib.indexers.episodes.episodes函数的典型用法代码示例。如果您正苦于以下问题:Python episodes函数的具体用法?Python episodes怎么用?Python episodes使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了episodes函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: 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()
示例2: add
def add(self, tvshowtitle, year, imdb, tmdb, tvdb, tvrage, 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
from resources.lib.indexers import episodes
items = episodes.episodes().get(tvshowtitle, year, imdb, tmdb, tvdb, tvrage, idx=False)
try: items = [{'name': i['name'], 'title': i['title'], 'year': i['year'], 'imdb': i['imdb'], 'tmdb': i['tmdb'], 'tvdb': i['tvdb'], 'tvrage': i['tvrage'], 'season': i['season'], 'episode': i['episode'], 'tvshowtitle': i['tvshowtitle'], 'alter': i['alter'], 'date': 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']]
if not items[0]['tmdb'] == '0': id += [items[0]['tmdb']]
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
for i in items:
try:
if xbmc.abortRequested == True: return sys.exit()
if self.check_setting == 'true':
if i['episode'] == '1':
self.block = True
from resources.lib.sources import sources
src = sources().getSources(i['name'], i['title'], i['year'], i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['season'], i['episode'], i['tvshowtitle'], i['alter'], i['date'])
if len(src) > 0: self.block = False
if self.block == True: raise Exception()
if int(self.date) <= int(re.sub('[^0-9]', '', str(i['date']))):
from resources.lib.sources import sources
src = sources().getSources(i['name'], i['title'], i['year'], i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['season'], i['episode'], i['tvshowtitle'], i['alter'], i['date'])
if not len(src) > 0: raise Exception()
self.strmFile(i)
except:
pass
if range == True: return
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)')
示例3: seasonList
def seasonList(self, url):
# Dirty implementation, but avoids rewritting everything from episodes.py.
episodes = episodesx.episodes(type = self.type, kids = self.kids)
self.list = cache.get(episodes.trakt_list, 0, url, self.trakt_user)
self.list = self.list[::-1]
episodes.list = self.list
episodes.worker()
self.list = episodes.list
self.seasonDirectory(self.list)
示例4: userlists
def userlists(self):
episodes = episodesx.episodes(type = self.type, kids = self.kids)
userlists = []
try:
if trakt.getTraktCredentialsInfo() == False: raise Exception()
activity = trakt.getActivity()
except:
pass
try:
if trakt.getTraktCredentialsInfo() == False: raise Exception()
self.list = []
try:
if activity > cache.timeout(episodes.trakt_user_list, self.traktlists_link, self.trakt_user): raise Exception()
userlists += cache.get(episodes.trakt_user_list, 3, self.traktlists_link, self.trakt_user)
except:
userlists += cache.get(episodes.trakt_user_list, 0, self.traktlists_link, self.trakt_user)
except:
pass
try:
if trakt.getTraktCredentialsInfo() == False: raise Exception()
self.list = []
try:
if activity > cache.timeout(episodes.trakt_user_list, self.traktlikedlists_link, self.trakt_user): raise Exception()
userlists += cache.get(episodes.trakt_user_list, 3, self.traktlikedlists_link, self.trakt_user)
except:
userlists += cache.get(episodes.trakt_user_list, 0, self.traktlikedlists_link, self.trakt_user)
except:
pass
self.list = []
# Filter the user's own lists that were
for i in range(len(userlists)):
contains = False
adapted = userlists[i]['url'].replace('/me/', '/%s/' % self.trakt_user)
for j in range(len(self.list)):
if adapted == self.list[j]['url'].replace('/me/', '/%s/' % self.trakt_user):
contains = True
break
if not contains:
self.list.append(userlists[i])
for i in range(0, len(self.list)): self.list[i].update({'image': 'traktlists.png', 'action': self.parameterize('seasonList')})
# Watchlist
if trakt.getTraktCredentialsInfo():
self.list.insert(0, {'name' : interface.Translation.string(32033), 'url' : self.traktwatchlist_link, 'context' : self.traktwatchlist_link, 'image': 'traktwatch.png', 'action': self.parameterize('seasons')})
episodes.addDirectory(self.list, queue = True)
return self.list
示例5: 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()
示例6: tvshows
def tvshows(tvshowtitle, imdb, tvdb, season, watched):
try:
import sys,xbmc
if not trakt.getTraktIndicatorsInfo() == False: raise Exception()
watched=int(watched)
from metahandler import metahandlers
from resources.lib.indexers import episodes
imdb = imdb.encode('utf-8')
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))
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, 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
control.refresh()
示例7: sources
elif action == 'movieSearch':
from resources.lib.indexers import movies
movies.movies().search(query, lang)
elif action == 'tvshows':
from resources.lib.indexers import tvshows
tvshows.tvshows().get(url, provider=provider, network=name)
elif action == 'seasons':
from resources.lib.indexers import episodes
episodes.seasons().get(tvshowtitle, year, imdb, tmdb, tvdb, tvrage)
elif action == 'episodes':
from resources.lib.indexers import episodes
episodes.episodes().get(tvshowtitle, year, imdb, tmdb, tvdb, tvrage, season, episode, provider=provider, url=url)
elif action == 'sources':
from resources.lib.sources import sources
sources().addItem(name, title, year, imdb, tmdb, tvdb, tvrage, season, episode, tvshowtitle, alter, date, meta)
elif action == 'download':
import json
from resources.lib.sources import sources
from resources.lib.libraries import downloader
try: downloader.download(name, image, sources().sourcesResolve(json.loads(source)[0]))
except: pass
elif action == 'play':
from resources.lib.sources import sources
sources().play(name, title, year, imdb, tmdb, tvdb, tvrage, season, episode, tvshowtitle, alter, date, meta, url)
示例8:
elif action == 'tvCertificates':
from resources.lib.indexers import tvshows
tvshows.tvshows().certifications()
elif action == 'tvUserlists':
from resources.lib.indexers import tvshows
tvshows.tvshows().userlists()
elif action == 'seasons':
from resources.lib.indexers import episodes
episodes.seasons().get(tvshowtitle, year, imdb, tvdb)
elif action == 'episodes':
from resources.lib.indexers import episodes
episodes.episodes().get(tvshowtitle, year, imdb, tvdb, season, episode)
elif action == 'calendar':
from resources.lib.indexers import episodes
episodes.episodes().calendar(url)
elif action == 'tvWidget':
from resources.lib.indexers import episodes
episodes.episodes().widget()
elif action == 'calendars':
from resources.lib.indexers import episodes
episodes.episodes().calendars()
elif action == 'episodeUserlists':
from resources.lib.indexers import episodes
示例9: update
def update(self, query, info='true'):
if query == 'tool':
return xbmc.executebuiltin('RunPlugin(%s?action=updateLibrary)' % sys.argv[0])
try:
items = []
season, episode = [], []
show = [os.path.join(self.library_folder, i) for i in control.listDir(self.library_folder)[0]]
for s in show:
try: season += [os.path.join(s, i) for i in control.listDir(s)[0]]
except: pass
for s in season:
try: episode.append([os.path.join(s, i) for i in control.listDir(s)[1] if i.endswith('.strm')][-1])
except: pass
for file in episode:
try:
file = control.openFile(file)
read = file.read()
read = read.encode('utf-8')
file.close()
if not read.startswith(sys.argv[0]): raise Exception()
params = dict(urlparse.parse_qsl(read.replace('?','')))
try: tvshowtitle = params['tvshowtitle']
except: tvshowtitle = None
try: tvshowtitle = params['show']
except: pass
if tvshowtitle == None or tvshowtitle == '': raise Exception()
year, imdb, tvdb = params['year'], params['imdb'], params['tvdb']
imdb = 'tt' + re.sub('[^0-9]', '', str(imdb))
try: tmdb = params['tmdb']
except: tmdb = '0'
try: tvrage = params['tvrage']
except: tvrage = '0'
items.append({'tvshowtitle': tvshowtitle, 'year': year, 'imdb': imdb, 'tmdb': tmdb, 'tvdb': tvdb, 'tvrage': tvrage})
except:
pass
items = [i for x, i in enumerate(items) if i not in items[x + 1:]]
if len(items) == 0: raise Exception()
except:
return
try:
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']
except:
return
if info == 'true' and not control.condVisibility('Window.IsVisible(infodialog)') and not control.condVisibility('Player.HasVideo'):
control.infoDialog(control.lang(30422).encode('utf-8'), time=10000000)
self.infoDialog = True
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.libcacheFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS tvshows (""id TEXT, ""items TEXT, ""UNIQUE(id)"");")
except:
return
try:
from resources.lib.indexers import episodes
except:
return
for item in items:
it = None
if xbmc.abortRequested == True: return sys.exit()
try:
dbcur.execute("SELECT * FROM tvshows WHERE id = '%s'" % item['tvdb'])
fetch = dbcur.fetchone()
it = eval(fetch[1].encode('utf-8'))
except:
pass
try:
if not it == None: raise Exception()
it = episodes.episodes().get(item['tvshowtitle'], item['year'], item['imdb'], item['tmdb'], item['tvdb'], item['tvrage'], idx=False)
status = it[0]['status'].lower()
it = [{'name': i['name'], 'title': i['title'], 'year': i['year'], 'imdb': i['imdb'], 'tmdb': i['tmdb'], 'tvdb': i['tvdb'], 'tvrage': i['tvrage'], 'season': i['season'], 'episode': i['episode'], 'tvshowtitle': i['tvshowtitle'], 'alter': i['alter'], 'date': i['premiered']} for i in it]
if status == 'continuing': raise Exception()
dbcur.execute("INSERT INTO tvshows Values (?, ?)", (item['tvdb'], repr(it)))
dbcon.commit()
except:
pass
#.........这里部分代码省略.........
示例10: 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", 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 int(watched) == 7:
trakt.markTVShowAsWatched(tvdb)
else:
trakt.markTVShowAsNotWatched(tvdb)
trakt.cachesyncTVShows()
except:
pass
control.refresh()
示例11:
elif action == 'tvNetworks':
from resources.lib.indexers import tvshows
tvshows.tvshows().networks()
elif action == 'tvYears':
from resources.lib.indexers import tvshows
tvshows.tvshows().years()
elif action == 'tvUserlists':
from resources.lib.indexers import tvshows
tvshows.tvshows().userlists()
elif action == 'tvWidget':
from resources.lib.indexers import episodes
episodes.episodes().widget()
elif action == 'openSettings':
from resources.lib.lib import control
control.openSettings(query)
elif action == 'moviePlaycount':
from resources.lib.libraries import playcount
playcount.movies(title, year, imdb, query)
elif action == 'episodePlaycount':
from resources.lib.libraries import playcount
playcount.episodes(imdb, tvdb, season, episode, query)
elif action == 'tvPlaycount':
示例12:
elif action == 'tvPersons':
from resources.lib.indexers import tvshows
tvshows.tvshows().persons(url)
elif action == 'tvUserlists':
from resources.lib.indexers import tvshows
tvshows.tvshows().userlists()
elif action == 'seasons':
from resources.lib.indexers import episodes
episodes.seasons().get(tvshowtitle, year, imdb, tvdb)
elif action == 'episodes':
from resources.lib.indexers import episodes
episodes.episodes().get(tvshowtitle, year, imdb, tvdb, season, episode)
elif action == 'calendar':
from resources.lib.indexers import episodes
episodes.episodes().calendar(url)
elif action == 'tvWidget':
from resources.lib.indexers import episodes
episodes.episodes().widget()
elif action == 'calendars':
from resources.lib.indexers import episodes
episodes.episodes().calendars()
elif action == 'episodeUserlists':
from resources.lib.indexers import episodes
示例13:
elif action == 'tvYears':
from resources.lib.indexers import tvshows
tvshows.tvshows().years()
elif action == 'tvUserlists':
from resources.lib.indexers import tvshows
tvshows.tvshows().userlists()
elif action == 'seasons':
from resources.lib.indexers import episodes
episodes.seasons().get(tvshowtitle, year, imdb, tmdb, tvdb, tvrage)
elif action == 'episodes':
from resources.lib.indexers import episodes
episodes.episodes().get(tvshowtitle, year, imdb, tmdb, tvdb, tvrage, season, episode)
elif action == 'calendar':
from resources.lib.indexers import episodes
episodes.episodes().calendar(url)
elif action == 'tvWidget':
from resources.lib.indexers import episodes
episodes.episodes().widget()
elif action == 'episodeFavourites':
from resources.lib.indexers import episodes
episodes.episodes().favourites()
elif action == 'calendars':
from resources.lib.indexers import episodes
示例14: update
def update(self, query=None, info='true'):
if not query == None: control.idle()
try:
items = []
season, episode = [], []
show = [os.path.join(self.library_folder, i) for i in control.listDir(self.library_folder)[0]]
for s in show:
try: season += [os.path.join(s, i) for i in control.listDir(s)[0]]
except: pass
for s in season:
try: episode.append([os.path.join(s, i) for i in control.listDir(s)[1] if i.endswith('.strm')][-1])
except: pass
for file in episode:
try:
file = control.openFile(file)
read = file.read()
read = read.encode('utf-8')
file.close()
if not read.startswith(sys.argv[0]): raise Exception()
params = dict(urlparse.parse_qsl(read.replace('?','')))
try: tvshowtitle = params['tvshowtitle']
except: tvshowtitle = None
try: tvshowtitle = params['show']
except: pass
if tvshowtitle == None or tvshowtitle == '': raise Exception()
year, imdb, tvdb = params['year'], params['imdb'], params['tvdb']
imdb = 'tt' + re.sub('[^0-9]', '', str(imdb))
try: tmdb = params['tmdb']
except: tmdb = '0'
items.append({'tvshowtitle': tvshowtitle, 'year': year, 'imdb': imdb, 'tmdb': tmdb, 'tvdb': tvdb})
except:
pass
items = [i for x, i in enumerate(items) if i not in items[x + 1:]]
if len(items) == 0: raise Exception()
except:
return
try:
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']
except:
return
if info == 'true' and not control.condVisibility('Window.IsVisible(infodialog)') and not control.condVisibility('Player.HasVideo'):
control.infoDialog(control.lang(32553).encode('utf-8'), time=10000000)
self.infoDialog = True
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.libcacheFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS tvshows (""id TEXT, ""items TEXT, ""UNIQUE(id)"");")
except:
return
try:
from resources.lib.indexers import episodes
except:
return
files_added = 0
# __init__ doesn't get called from services so self.date never gets updated and new episodes are not added to the library
self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5))
self.date = (self.datetime - datetime.timedelta(hours = 24)).strftime('%Y%m%d')
for item in items:
it = None
if xbmc.abortRequested == True: return sys.exit()
try:
dbcur.execute("SELECT * FROM tvshows WHERE id = '%s'" % item['tvdb'])
fetch = dbcur.fetchone()
it = eval(fetch[1].encode('utf-8'))
except:
pass
try:
if not it == None: raise Exception()
it = episodes.episodes().get(item['tvshowtitle'], item['year'], item['imdb'], item['tvdb'], idx=False)
status = it[0]['status'].lower()
it = [{'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 it]
if status == 'continuing': raise Exception()
#.........这里部分代码省略.........
示例15: update
#.........这里部分代码省略.........
pass
items = [i for x, i in enumerate(items) if i not in items[x + 1 :]]
if len(items) == 0:
raise Exception()
except:
return
try:
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"]
except:
return
if (
info == "true"
and not control.condVisibility("Window.IsVisible(infodialog)")
and not control.condVisibility("Player.HasVideo")
):
control.infoDialog(control.lang(30422).encode("utf-8"), time=10000000)
self.infoDialog = True
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.libcacheFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS tvshows (" "id TEXT, " "items TEXT, " "UNIQUE(id)" ");")
except:
return
try:
from resources.lib.indexers import episodes
except:
return
for item in items:
it = None
if xbmc.abortRequested == True:
return sys.exit()
try:
dbcur.execute("SELECT * FROM tvshows WHERE id = '%s'" % item["tvdb"])
fetch = dbcur.fetchone()
it = eval(fetch[1].encode("utf-8"))
except:
pass
try:
if not it == None:
raise Exception()
it = episodes.episodes().get(
item["tvshowtitle"],
item["year"],
item["imdb"],
item["tmdb"],
item["tvdb"],
item["tvrage"],
idx=False,
)
status = it[0]["status"].lower()