From 919bc52d0fefc9863d1834a7e9b62eb647a223bf Mon Sep 17 00:00:00 2001 From: j2331223 Date: Sat, 5 Aug 2017 23:07:45 +0200 Subject: [PATCH] Mergeado de pelisalacarta-ce el fix de la videoteca --- .../platformcode/xbmc_videolibrary.py | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/plugin.video.alfa/platformcode/xbmc_videolibrary.py b/plugin.video.alfa/platformcode/xbmc_videolibrary.py index 8bef182c..14abdbdf 100755 --- a/plugin.video.alfa/platformcode/xbmc_videolibrary.py +++ b/plugin.video.alfa/platformcode/xbmc_videolibrary.py @@ -375,31 +375,20 @@ def update(folder_content=config.get_setting("folder_tvshows"), folder=""): """ logger.info(folder) - if not folder: - # Actualizar toda la coleccion - while xbmc.getCondVisibility('Library.IsScanningVideo()'): - xbmc.sleep(500) - xbmc.executebuiltin('UpdateLibrary(video)') - - else: - # Actualizar una sola carpeta en un hilo independiente - - def update_multi_threads(update_path, lock): - lock.acquire() - # logger.debug("%s\nINICIO" % update_path) - payload = {"jsonrpc": "2.0", - "method": "VideoLibrary.Scan", - "params": {"directory": update_path}, "id": 1} - - data = get_data(payload) - lock.release() - # logger.debug("%s\nFIN data: %s" % (update_path, data)) + payload = { + "jsonrpc": "2.0", + "method": "VideoLibrary.Scan", + "id": 1 + } + if folder: videolibrarypath = config.get_videolibrary_config_path() if folder.endswith('/') or folder.endswith('\\'): folder = folder[:-1] + update_path = None + if videolibrarypath.startswith("special:"): if videolibrarypath.endswith('/'): videolibrarypath = videolibrarypath[:-1] @@ -407,9 +396,12 @@ def update(folder_content=config.get_setting("folder_tvshows"), folder=""): else: update_path = filetools.join(videolibrarypath, folder_content, folder) + "/" - t = threading.Thread(target=update_multi_threads, args=[update_path, threading.Lock()]) - t.setDaemon(True) - t.start() + payload["params"] = {"directory": update_path} + + while xbmc.getCondVisibility('Library.IsScanningVideo()'): + xbmc.sleep(500) + + data = get_data(payload) def clean(mostrar_dialogo=False):