def series(series_id, series_title, season, single_update=True): filename = utility.clean_filename(series_title, ' .') series_file = xbmc.translatePath(utility.tv_dir() + filename) if not xbmcvfs.exists(series_file): xbmcvfs.mkdir(series_file) content = get.series_info(series_id) content = json.loads(content)['video']['seasons'] for test in content: episode_season = unicode(test['seq']) if episode_season == season or season == '': season_dir = utility.create_pathname(series_file, test['title']) if not xbmcvfs.exists(season_dir): xbmcvfs.mkdir(season_dir) for item in test['episodes']: episode_id = unicode(item['episodeId']) episode_nr = unicode(item['seq']) episode_title = item['title'] if len(episode_nr) == 1: episode_nr = '0' + episode_nr season_nr = episode_season if len(season_nr) == 1: season_nr = '0' + season_nr filename = 'S' + season_nr + 'E' + episode_nr + ' - ' + episode_title + '.strm' filename = utility.clean_filename(filename, ' .') file_handler = xbmcvfs.File(utility.create_pathname(season_dir, filename), 'w') file_handler.write( utility.encode('plugin://%s/?mode=play_video&url=%s' % (utility.addon_id, episode_id))) file_handler.close() if utility.get_setting('update_db') and single_update: xbmc.executebuiltin('UpdateLibrary(video)')
def episodes(series_id, season): xbmcplugin.setContent(plugin_handle, 'episodes') content = get.series_info(series_id) content = json.loads(content)['video']['seasons'] for test in content: episode_season = unicode(test['seq']) if episode_season == season: for item in test['episodes']: episode_id = item['episodeId'] episode_nr = item['seq'] episode_title = (unicode(episode_nr) + '. ' + item['title']) duration = item['runtime'] offset = item['bookmark']['offset'] playcount = 0 if (duration > 0 and float(offset) / float(duration)) >= 0.9: playcount = 1 description = item['synopsis'] try: thumb = item['stills'][0]['url'] except: thumb = utility.addon_fanart() add.episode(episode_title, episode_id, 'play_video_main', thumb, description, duration, season, episode_nr, series_id, playcount) if utility.get_setting('force_view'): xbmc.executebuiltin('Container.SetViewMode(' + utility.get_setting('view_id_episodes') + ')') xbmcplugin.endOfDirectory(plugin_handle)
def add_series(series_id, series_title, season, single_update=True): series_file = get_series_dir(series_title) if not xbmcvfs.exists(series_file+os.sep): xbmcvfs.mkdir(series_file+os.sep) content = get.series_info(series_id) generic_utility.log(str(content)) content = json.loads(content)['video']['seasons'] for test in content: episode_season = unicode(test['seq']) if episode_season == season or season == '': season_dir = generic_utility.create_pathname(series_file.decode('utf-8'), test['title']) if not xbmcvfs.exists(season_dir+os.sep): xbmcvfs.mkdir(season_dir+os.sep) for item in test['episodes']: episode_id = unicode(item['episodeId']) episode_nr = unicode(item['seq']) episode_title = item['title'] if len(episode_nr) == 1: episode_nr = '0' + episode_nr season_nr = episode_season if len(season_nr) == 1: season_nr = '0' + season_nr filename = 'S' + season_nr + 'E' + episode_nr + ' - ' + episode_title + '.V' + episode_id + 'V'+ '.strm' filename = generic_utility.clean_filename(filename, ' .') file_handler = xbmcvfs.File(generic_utility.create_pathname(season_dir, filename), 'w') file_handler.write( generic_utility.encode('plugin://%s/?mode=play_video&url=%s' % ( generic_utility.addon_id, episode_id))) file_handler.close() if generic_utility.get_setting('update_db') == 'true' and single_update: xbmc.executebuiltin('UpdateLibrary(video)') else: xbmc.executebuiltin("Container.Refresh")
def episodes(series_id, season): xbmcplugin.setContent(plugin_handle, 'episodes') content = get.series_info(series_id) content = json.loads(content)['video']['seasons'] for test in content: episode_season = unicode(test['seq']) if episode_season == season: for item in test['episodes']: playcount = 0 episode_id = item['episodeId'] episode_nr = item['seq'] episode_title = (unicode(episode_nr) + '. ' + item['title']) duration = item['runtime'] offset = item['bookmark']['offset'] if (duration > 0 and float(offset) / float(duration)) >= 0.9: playcount = 1 description = item['synopsis'] try: thumb = item['stills'][0]['url'] except: thumb = utility.addon_fanart() add.episode(episode_title, episode_id, 'play_video_main', thumb, description, duration, season, episode_nr, series_id, playcount) if utility.get_setting('force_view'): xbmc.executebuiltin('Container.SetViewMode(' + utility.get_setting('view_id_episodes') + ')') xbmcplugin.endOfDirectory(plugin_handle)
def seasons(series_name, series_id, thumb): seasons = [] content = get.series_info(series_id) content = json.loads(content)['video']['seasons'] for item in content: seasons.append((item['title'], item['seq'])) for season in seasons: add.season(season[0], season[1], 'list_episodes', thumb, series_name, series_id) xbmcplugin.endOfDirectory(plugin_handle)