From a78d3be334a707961a83b9627e7d5bdbc90637ea Mon Sep 17 00:00:00 2001 From: mac12m99 Date: Wed, 22 Jan 2020 19:38:06 +0100 Subject: [PATCH] fix updater --- platformcode/updater.py | 5 ++++- specials/setting.py | 2 +- videolibrary_service.py | 22 ++++++++++++++++++---- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/platformcode/updater.py b/platformcode/updater.py index 121bdf1c..b88840ee 100644 --- a/platformcode/updater.py +++ b/platformcode/updater.py @@ -64,6 +64,7 @@ def check(background=False): localCommitSha = localCommitSha.replace('\n', '') # da testare logger.info('Commit locale: ' + localCommitSha) updated = False + serviceChanged = False pos = None for n, c in enumerate(commits): @@ -105,6 +106,8 @@ def check(background=False): logger.info(file["filename"]) if 'resources/language' in file["filename"]: poFilesChanged = True + if 'videolibrary_service.py' in file["filename"]: + serviceChanged = True if file['status'] == 'modified' or file['status'] == 'added': if 'patch' in file: text = "" @@ -173,7 +176,7 @@ def check(background=False): else: logger.info('Nessun nuovo aggiornamento') - return updated + return updated, serviceChanged def showSavedChangelog(): diff --git a/specials/setting.py b/specials/setting.py index 7979dd2c..6d97fba3 100644 --- a/specials/setting.py +++ b/specials/setting.py @@ -343,7 +343,7 @@ def check_quickfixes(item): if not config.dev_mode(): from platformcode import updater - if not updater.check(): + if not updater.check()[0]: platformtools.dialog_ok('Kodi on Demand', config.get_localized_string(70667)) else: return False diff --git a/videolibrary_service.py b/videolibrary_service.py index 2a56c7d6..0bdbb1fe 100644 --- a/videolibrary_service.py +++ b/videolibrary_service.py @@ -310,11 +310,18 @@ def monitor_update(): if not config.dev_mode(): period = float(config.get_setting('addon_update_timer')) * 3600 curTime = time.time() - lastCheck = float(config.get_setting("updater_last_check", "videolibrary", '0')) + lastCheck = config.get_setting("updater_last_check", "videolibrary", '0') + if lastCheck: + lastCheck = float(lastCheck) + else: + lastCheck = 0 if curTime - lastCheck > period: - updater.check(background=True) - config.set_setting("updater_last_check", "videolibrary", str(curTime)) + updated, needsReload = updater.check(background=True) + config.set_setting("updater_last_check", str(curTime), "videolibrary") + if needsReload: + xbmc.executescript(__file__) + exit(0) # def get_channel_json(): # import urllib, os, xbmc @@ -387,7 +394,14 @@ if __name__ == "__main__": # Verificar quick-fixes al abrirse Kodi, y dejarlo corriendo como Thread if not config.dev_mode(): - updater.check() + updated, needsReload = updater.check() + config.set_setting("updater_last_check", str(time.time()), "videolibrary") + if needsReload: + xbmc.executescript(__file__) + exit(0) + + if xbmc.getCondVisibility('System.HasAddon(repository.kod)'): + filetools.rmdirtree(xbmc.translatePath('special://home/addons/repository.kod')) # Copia Custom code a las carpetas de Alfa desde la zona de Userdata from platformcode import custom_code