From 228c7bbd79969f19bdebc1a9c6b96fd876830bc3 Mon Sep 17 00:00:00 2001 From: mac12m99 <10120390+mac12m99@users.noreply.github.com> Date: Sat, 22 May 2021 17:43:43 +0200 Subject: [PATCH] pulizia --- resources/settings.xml | 1 - service.py | 143 +---------------------------------------- specials/setting.py | 77 ---------------------- 3 files changed, 2 insertions(+), 219 deletions(-) diff --git a/resources/settings.xml b/resources/settings.xml index 30b8208a..2c26fda7 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -50,7 +50,6 @@ - diff --git a/service.py b/service.py index 41b26047..2350ddc5 100644 --- a/service.py +++ b/service.py @@ -1,12 +1,9 @@ # -*- coding: utf-8 -*- -import datetime -import math import os import sys import threading import traceback import xbmc -import xbmcgui from platformcode import config try: @@ -22,96 +19,13 @@ except: librerias = xbmc.translatePath(os.path.join(config.get_runtime_path(), 'lib')) sys.path.insert(0, librerias) -from core import videolibrarytools, filetools, channeltools, httptools, scrapertools, db +from core import filetools, httptools, scrapertools, db from lib import schedule from platformcode import logger, platformtools, updater, xbmc_videolibrary from specials import videolibrary from servers import torrent -def update(path, p_dialog, i, t, serie, overwrite): - logger.debug("Updating " + path) - insertados_total = 0 - nfo_file = xbmc.translatePath(filetools.join(path, 'tvshow.nfo')) - - head_nfo, it = videolibrarytools.read_nfo(nfo_file) - videolibrarytools.update_renumber_options(it, head_nfo, path) - - if not serie.library_url: serie = it - category = serie.category - - # logger.debug("%s: %s" %(serie.contentSerieName,str(list_canales) )) - for channel, url in serie.library_urls.items(): - serie.channel = channel - module = __import__('channels.%s' % channel, fromlist=["channels.%s" % channel]) - url = module.host + urlsplit(url).path - serie.url = url - - ###### Redirection to the NewPct1.py channel if it is a clone, or to another channel and url if there has been judicial intervention - try: - head_nfo, it = videolibrarytools.read_nfo(nfo_file) # Refresh the .nfo to collect updates - if it.emergency_urls: - serie.emergency_urls = it.emergency_urls - serie.category = category - except: - logger.error(traceback.format_exc()) - - channel_enabled = channeltools.is_enabled(serie.channel) - - if channel_enabled: - - heading = config.get_localized_string(20000) - p_dialog.update(int(math.ceil((i + 1) * t)), heading, config.get_localized_string(60389) % (serie.contentSerieName, serie.channel.capitalize())) - try: - pathchannels = filetools.join(config.get_runtime_path(), "channels", serie.channel + '.py') - logger.debug("loading channel: " + pathchannels + " " + serie.channel) - - if serie.library_filter_show: - serie.show = serie.library_filter_show.get(serie.channel, serie.contentSerieName) - - obj = __import__('channels.%s' % serie.channel, fromlist=[pathchannels]) - - itemlist = obj.episodios(serie) - - try: - if int(overwrite) == 3: - # Overwrite all files (tvshow.nfo, 1x01.nfo, 1x01 [channel] .json, 1x01.strm, etc ...) - insertados, sobreescritos, fallidos, notusedpath = videolibrarytools.save_tvshow(serie, itemlist) - #serie= videolibrary.check_season_playcount(serie, serie.contentSeason) - #if filetools.write(path + '/tvshow.nfo', head_nfo + it.tojson()): - # serie.infoLabels['playcount'] = serie.playcount - else: - insertados, sobreescritos, fallidos = videolibrarytools.save_episodes(path, itemlist, serie, - silent=True, - overwrite=overwrite) - #it = videolibrary.check_season_playcount(it, it.contentSeason) - #if filetools.write(path + '/tvshow.nfo', head_nfo + it.tojson()): - # serie.infoLabels['playcount'] = serie.playcount - insertados_total += insertados - - except: - import traceback - logger.error("Error when saving the chapters of the series") - logger.error(traceback.format_exc()) - - except: - import traceback - logger.error("Error in obtaining the episodes of: %s" % serie.show) - logger.error(traceback.format_exc()) - - else: - logger.debug("Channel %s not active is not updated" % serie.channel) - # Synchronize the episodes seen from the Kodi video library with that of KoD - try: - if config.is_xbmc(): # If it's Kodi, we do it - from platformcode import xbmc_videolibrary - xbmc_videolibrary.mark_content_as_watched_on_kod(filetools.join(path,'tvshow.nfo')) - except: - logger.error(traceback.format_exc()) - - return insertados_total > 0 - - def check_for_update(): if config.get_setting("update", "videolibrary"): videolibrary.update_videolibrary() @@ -122,6 +36,7 @@ def updaterCheck(): updated, needsReload = updater.check(background=True) if needsReload: xbmc.executescript(__file__) + db.close() exit(0) @@ -277,60 +192,6 @@ if __name__ == "__main__": if config.get_setting('autostart'): xbmc.executebuiltin('RunAddon(plugin.video.' + config.PLUGIN_NAME + ')') - # port old db to new - old_db_name = filetools.join(config.get_data_path(), "kod_db.sqlite") - if filetools.isfile(old_db_name): - try: - import sqlite3 - - old_db_conn = sqlite3.connect(old_db_name, timeout=15) - old_db = old_db_conn.cursor() - old_db.execute('select * from viewed') - - for ris in old_db.fetchall(): - if ris[1]: # tvshow - show = db['viewed'].get(ris[0], {}) - show[str(ris[1]) + 'x' + str(ris[2])] = ris[3] - db['viewed'][ris[0]] = show - else: # film - db['viewed'][ris[0]] = ris[3] - except: - pass - finally: - filetools.remove(old_db_name, True, False) - - # replace tvdb to tmdb for series - if config.get_setting('videolibrary_kodi') and config.get_setting('show_once'): - nun_records, records = xbmc_videolibrary.execute_sql_kodi('select * from path where strPath like "' + - filetools.join(config.get_setting('videolibrarypath'), config.get_setting('folder_tvshows')) + - '%" and strScraper="metadata.tvdb.com"') - if nun_records: - import xbmcaddon - # change language - tvdbLang = xbmcaddon.Addon(id="metadata.tvdb.com").getSetting('language') - newLang = tvdbLang + '-' + tvdbLang.upper() - xbmcaddon.Addon(id="metadata.tvshows.themoviedb.org").setSetting('language', newLang) - updater.refreshLang() - - # prepare to replace strSettings - path_settings = xbmc.translatePath( - "special://profile/addon_data/metadata.tvshows.themoviedb.org/settings.xml") - settings_data = filetools.read(path_settings) - strSettings = ' '.join(settings_data.split()).replace("> <", "><") - strSettings = strSettings.replace("\"", "\'") - - # update db - nun_records, records = xbmc_videolibrary.execute_sql_kodi( - 'update path set strScraper="metadata.tvshows.themoviedb.org", strSettings="' + strSettings + '" where strPath like "' + - filetools.join(config.get_setting('videolibrarypath'), config.get_setting('folder_tvshows')) + - '%" and strScraper="metadata.tvdb.com"') - - # scan new info - xbmc.executebuiltin('UpdateLibrary(video)') - xbmc.executebuiltin('CleanLibrary(video)') - while xbmc.getCondVisibility('Library.IsScanningVideo()'): - xbmc.sleep(1000) - # check if the user has any connection problems from platformcode.checkhost import test_conn run_threaded(test_conn, (True, not config.get_setting('resolver_dns'), True, [], [], True)) diff --git a/specials/setting.py b/specials/setting.py index c66f9a2e..594a4864 100644 --- a/specials/setting.py +++ b/specials/setting.py @@ -708,83 +708,6 @@ def channel_status(item, dict_values): platformtools.dialog_notification(config.get_localized_string(60579), config.get_localized_string(60580)) -def restore_tools(item): - import service - from core import videolibrarytools - import os - - seleccion = platformtools.dialog_yesno(config.get_localized_string(60581), - config.get_localized_string(60582) + '\n' + - config.get_localized_string(60583)) - if seleccion == 1: - # tvshows - heading = config.get_localized_string(60584) - p_dialog = platformtools.dialog_progress_bg(config.get_localized_string(60585), heading) - p_dialog.update(0, '') - - show_list = [] - for path, folders, files in filetools.walk(videolibrarytools.TVSHOWS_PATH): - show_list.extend([filetools.join(path, f) for f in files if f == "tvshow.nfo"]) - - if show_list: - t = float(100) / len(show_list) - - for i, tvshow_file in enumerate(show_list): - head_nfo, serie = videolibrarytools.read_nfo(tvshow_file) - path = filetools.dirname(tvshow_file) - - if not serie.active: - # if the series is not active discard - continue - - # We delete the folder with the series ... - if tvshow_file.endswith('.strm') or tvshow_file.endswith('.json') or tvshow_file.endswith('.nfo'): - os.remove(os.path.join(path, tvshow_file)) - # filetools.rmdirtree(path) - - # ... and we add it again - service.update(path, p_dialog, i, t, serie, 3) - p_dialog.close() - - # movies - heading = config.get_localized_string(60586) - p_dialog2 = platformtools.dialog_progress_bg(config.get_localized_string(60585), heading) - p_dialog2.update(0, '') - - movies_list = [] - for path, folders, files in filetools.walk(videolibrarytools.MOVIES_PATH): - movies_list.extend([filetools.join(path, f) for f in files if f.endswith(".json")]) - - logger.debug("movies_list %s" % movies_list) - - if movies_list: - t = float(100) / len(movies_list) - - for i, movie_json in enumerate(movies_list): - try: - from core import jsontools - path = filetools.dirname(movie_json) - movie = Item().fromjson(filetools.read(movie_json)) - - # We delete the folder with the movie ... - filetools.rmdirtree(path) - - import math - heading = config.get_localized_string(20000) - - p_dialog2.update(int(math.ceil((i + 1) * t)), heading, config.get_localized_string(60389) % (movie.contentTitle, - movie.channel.capitalize())) - # ... and we add it again - videolibrarytools.save_movie(movie) - except Exception as ex: - logger.error("Error creating movie again") - template = "An exception of type %s occured. Arguments:\n%r" - message = template % (type(ex).__name__, ex.args) - logger.error(message) - - p_dialog2.close() - - def report_menu(item): logger.debug('URL: ' + item.url)