本文整理汇总了Python中resources.lib.indexers.episodes.episodes函数 的典型用法代码示例。如果您正苦于以下问题:Python episodes函数的具体用法?Python episodes怎么用?Python episodes使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了episodes函数 的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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()
开发者ID:CYBERxNUKE, 项目名称:xbmc-addon, 代码行数:60, 代码来源:playcount.py
示例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)')
开发者ID:8821kitkat, 项目名称:officialrepo, 代码行数:60, 代码来源:libtools.py
示例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)
开发者ID:azumimuo, 项目名称:family-xbmc-addon, 代码行数:12, 代码来源:seasons.py
示例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
开发者ID:azumimuo, 项目名称:family-xbmc-addon, 代码行数:53, 代码来源:seasons.py
示例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()
开发者ID:8821kitkat, 项目名称:officialrepo, 代码行数:50, 代码来源:playcount.py
示例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()
开发者ID:azumimuo, 项目名称:family-xbmc-addon, 代码行数:39, 代码来源:playcount.py
示例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)
开发者ID:kevintone, 项目名称:tdbaddon, 代码行数:30, 代码来源:default.py
示例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
开发者ID:hieuhienvn, 项目名称:hieuhien.vn, 代码行数:30, 代码来源:default.py
示例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
#.........这里部分代码省略.........
开发者ID:8821kitkat, 项目名称:officialrepo, 代码行数:101, 代码来源:libtools.py
示例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()
开发者ID:noobsandnerds, 项目名称:noobsandnerds, 代码行数:66, 代码来源:playcount.py
示例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':
开发者ID:anopid, 项目名称:filmkodi, 代码行数:31, 代码来源:default.py
示例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
开发者ID:azumimuo, 项目名称:family-xbmc-addon, 代码行数:30, 代码来源:exodus.py
示例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
开发者ID:AMObox, 项目名称:teammaniac, 代码行数:30, 代码来源:default.py
示例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()
#.........这里部分代码省略.........
开发者ID:varunrai, 项目名称:repository.magicality, 代码行数:101, 代码来源:libtools.py
示例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()
开发者ID:noobsandnerds, 项目名称:noobsandnerds, 代码行数:66, 代码来源:libtools.py
示例16: 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().checkSources(
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 src == True:
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().checkSources(
i["name"],
i["title"],
i["year"],
#.........这里部分代码省略.........
开发者ID:noobsandnerds, 项目名称:noobsandnerds, 代码行数:101, 代码来源:libtools.py
示例17:
elif action == 'tvPersons':
from resources.lib.indexers import tvshows
tvshows.tvshows(type = type, kids = kids).persons(url)
elif action == 'tvUserlists':
from resources.lib.indexers import tvshows
tvshows.tvshows(type = type, kids = kids).userlists(mode = params.get('mode'))
elif action == 'seasons':
from resources.lib.indexers import seasons
seasons.seasons(type = type, kids = kids).get(tvshowtitle, year, imdb, tvdb)
elif action == 'episodes':
from resources.lib.indexers import episodes
episodes.episodes(type = type, kids = kids).get(tvshowtitle, year, imdb, tvdb, season, episode)
elif action == 'calendar':
from resources.lib.indexers import episodes
episodes.episodes(type = type, kids = kids).calendar(url)
elif action == 'tvHome':
from resources.lib.indexers import episodes
episodes.episodes(type = type, kids = kids).home()
elif action == 'tvArrivals':
from resources.lib.indexers import episodes
episodes.episodes(type = type, kids = kids).arrivals()
elif action == 'tvCalendars':
from resources.lib.indexers import episodes
开发者ID:azumimuo, 项目名称:family-xbmc-addon, 代码行数:30, 代码来源:bubbles.py
示例18: marktvshows
def marktvshows(tvshowtitle, imdb, tvdb, 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]
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]
season_file = control.seasons_meta
try: from sqlite3 import dbapi2 as database
except: from pysqlite2 import dbapi2 as database
try:
if watched == 6:
total = '6'
dbcon = database.connect(season_file)
dbcur = dbcon.cursor()
dbcur.execute("DELETE FROM season_meta WHERE imdb = '%s'" % (imdb))
dbcon.commit()
except:
pass
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:
if watched == 7:
total = '7'
dbcon = database.connect(season_file)
dbcur = dbcon.cursor()
dbcur.execute("DELETE FROM season_meta WHERE imdb = '%s' AND season = '%s'" % (imdb, season))
dbcur.execute("INSERT INTO season_meta Values (?, ?, ?, ?)", (imdb, tvdb, season, total))
dbcon.commit()
except:
pass
try: dialog.close()
except: pass
except:
try: dialog.close()
except: pass
try:
import sys,xbmc
watched=int(watched)
imdb = imdb.encode('utf-8')
from metahandler import metahandlers
from resources.lib.indexers import episodes
metaget = metahandlers.MetaData(preparezip=False)
metaget.get_meta('tvshow', name='', imdb_id=imdb)
metaget._update_watched(imdb, 'tvshow', watched)
metaget.change_watched('tvshow', '', imdb, watched=watched)
except:
pass
control.refresh()
开发者ID:azumimuo, 项目名称:family-xbmc-addon, 代码行数:84, 代码来源:playcount.py
示例19: getSeasonIndicators2
请发表评论