Fix aggiunta alla videoteca tramite Ricerca Globale

This commit is contained in:
Alhaziel01
2021-07-05 17:00:38 +02:00
parent f9a4d0dbbb
commit 2662277a71
3 changed files with 48 additions and 39 deletions

View File

@@ -203,7 +203,7 @@ def save_movie(item, silent=False):
if not movie_item.infoLabels['disc'] and item.infoLabels['discs']: movie_item.infoLabels['disc'] = item.infoLabels['discs'][0]
if not movie_item.prefered_lang: movie_item.prefered_lang = ''
if not movie_item.lang_list: movie_item.lang_list = []
# if not movie_item.info: movie_item.info = extra_info(_id)
movie_item.no_reload = item.no_reload
if not item.contentLanguage: item.contentLanguage = 'ITA'
if not item.contentLanguage in movie_item.lang_list: movie_item.lang_list.append(item.contentLanguage)
@@ -214,9 +214,8 @@ def save_movie(item, silent=False):
movie_item.prefered_lang = movie_item.lang_list[0]
# create nfo file if it does not exist
# support.dbg()
if not nfo_exists:
# data = dicttoxml(movie_item)
filetools.write(filetools.join(MOVIES_PATH, movie_item.nfo_path), head_nfo)
# create strm file if it does not exist
@@ -267,8 +266,8 @@ def save_movie(item, silent=False):
p_dialog.update(100, item.contentTitle)
p_dialog.close()
# Update Kodi Library
# from platformcode.dbconverter import add_video
# add_video(movie_item)
from platformcode.dbconverter import add_video
add_video(movie_item)
# if config.is_xbmc() and config.get_setting("videolibrary_kodi") and not silent and inserted:
# from platformcode.xbmc_videolibrary import update
# update(MOVIES_PATH)
@@ -399,6 +398,8 @@ def save_tvshow(item, episodelist, silent=False):
if not tvshow_item.prefered_lang: tvshow_item.prefered_lang = ''
if not tvshow_item.lang_list: tvshow_item.lang_list = []
tvshow_item.no_reload = item.no_reload
remove_host(item)
item.renumber = add_renumber_options(item)
@@ -419,7 +420,7 @@ def save_tvshow(item, episodelist, silent=False):
if not nfo_exists:
filetools.write(filetools.join(TVSHOWS_PATH, tvshow_item.nfo_path), head_nfo)
# support.dbg()
if not episodelist:
# The episode list is empty
return 0, 0, -1, path
@@ -431,8 +432,7 @@ def save_tvshow(item, episodelist, silent=False):
if config.is_xbmc() and config.get_setting("videolibrary_kodi") and not silent:# and inserted:
from platformcode.dbconverter import add_video
add_video(tvshow_item)
# from platformcode.xbmc_videolibrary import update
# update(TVSHOWS_PATH, tvshow_item.basename)
return inserted, overwritten, failed, path
@@ -452,8 +452,6 @@ def save_episodes(item, episodelist, extra_info, host, local_files, silent=False
season_episode = '{}x{:02d}'.format(e.contentSeason, e.contentEpisodeNumber)
strm_path = filetools.join(item.base_name, "{}.strm".format(season_episode))
# e.contentSeason = int(season_episode.split('x')[0])
# e.contentEpisodeNumber = int(season_episode.split('x')[1])
if item.infoLabels.get('imdb_id'): e.infoLabels['imdb_id'] = item.infoLabels['imdb_id']
if item.infoLabels.get('tmdb_id'): e.infoLabels['tmdb_id'] = item.infoLabels['tmdb_id']
if item.infoLabels.get('tvdb_id'): e.infoLabels['tvdb_id'] = item.infoLabels['tvdb_id']
@@ -779,6 +777,7 @@ def add_tvshow(item, channel=None):
# If the second screen is canceled, the variable "scraper_return" will be False. The user does not want to continue
item = generictools.update_title(item) # We call the method that updates the title with tmdb.find_and_set_infoLabels
if not item: return
#if item.tmdb_stat:
# del item.tmdb_stat # We clean the status so that it is not recorded in the Video Library

View File

@@ -24,15 +24,15 @@ def save_all():
add_video(item)
conn.close()
_id = get_id('idShow', 'tvshow') + get_id('idMovie', 'movie')
if _id == 1:
payload = {
"jsonrpc": "2.0",
"method": "VideoLibrary.Scan",
"directory": videolibrarytools.FOLDER_MOVIES,
"id": 1
}
get_data(payload)
reload()
def reload():
movieid = get_id('idMovie', 'movie')
showid = get_id('idShow', 'tvshow')
if movieid > 0 and showid > 0:
xbmc.executebuiltin('ReloadSkin()')
else:
payload = {
"jsonrpc": "2.0",
"method": "VideoLibrary.Scan",
@@ -40,8 +40,13 @@ def save_all():
"id": 1
}
get_data(payload)
else:
xbmc.executebuiltin('ReloadSkin()')
payload = {
"jsonrpc": "2.0",
"method": "VideoLibrary.Scan",
"directory": videolibrarytools.FOLDER_MOVIES,
"id": 1
}
get_data(payload)
def add_video(item):
@@ -256,6 +261,7 @@ class addMovie(object):
if self.info.get('set'):
sql = 'SELECT idSet from sets where (strSet = "{}") limit 1'.format(self.info.get('set'))
collection_info = videolibrarydb['collection'][self.info.get('setid')].infoLabels
logger.debug('COLLECTION INFO:',collection_info)
nun_records, records = execute_sql_kodi(sql, conn=conn)
if records:
self.idSet = records[0][0]
@@ -264,20 +270,20 @@ class addMovie(object):
sql = 'INSERT OR IGNORE INTO sets (idSet, strSet, strOvervieW) VALUES ( ?, ?, ?)'
params = (self.idSet, self.info.get('set'), self.info.get('setoverview'))
self.sql_actions.append([sql, params])
if collection_info.get('poster'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'poster', 'url':collection_info.get('poster')})
if collection_info.get('fanart'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'fanart', 'url':collection_info.get('fanart')})
if collection_info.get('landscape'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'landscape', 'url':collection_info.get('landscape')})
if collection_info.get('banner'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'banner', 'url':collection_info.get('banner')})
if collection_info.get('clearlogo'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'clearlogo', 'url':collection_info.get('clearlogo')})
if collection_info.get('clearart'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'clearart', 'url':collection_info.get('clearart')})
if collection_info.get('disc'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'clearart', 'url':collection_info.get('disc')})
if collection_info.get('posters'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'poster', 'url':collection_info.get('posters')[0]})
if collection_info.get('fanarts'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'fanart', 'url':collection_info.get('fanarts')[0]})
if collection_info.get('landscapes'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'landscape', 'url':collection_info.get('landscapes')[0]})
if collection_info.get('banners'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'banner', 'url':collection_info.get('banners')[0]})
if collection_info.get('clearlogos'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'clearlogo', 'url':collection_info.get('clearlogos')[0]})
if collection_info.get('cleararts'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'clearart', 'url':collection_info.get('cleararts')[0]})
if collection_info.get('discs'):
self.art.append({'media_id':self.idSet, 'media_type': 'set', 'type':'clearart', 'url':collection_info.get('discs')[0]})
def set_files(self):
self.idFile = get_id('idFile', 'files')

View File

@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
import threading
from core import support
import xbmc, xbmcgui, sys, channelselector, time, os
from core.support import dbg, tmdb
@@ -8,6 +9,7 @@ from core import channeltools, servertools, scrapertools
from platformcode import platformtools, config, logger
from platformcode.launcher import run
from threading import Thread
from platformcode.dbconverter import reload
if sys.version_info[0] >= 3:
PY3 = True
@@ -73,6 +75,7 @@ SERVERLIST = 300
class SearchWindow(xbmcgui.WindowXML):
def start(self, item, moduleDict={}, searchActions=[], thActions=None):
logger.debug()
self.exit = False
self.item = item
self.type = self.item.mode
@@ -89,6 +92,7 @@ class SearchWindow(xbmcgui.WindowXML):
self.pos = 0
self.items = []
self.search_threads = []
self.reload = False
if not thActions:
self.thActions = Thread(target=self.getActionsThread)
@@ -118,7 +122,6 @@ class SearchWindow(xbmcgui.WindowXML):
from specials.search import save_search
save_search(self.item.text)
def getActionsThread(self):
logger.debug()
self.channelsList = self.get_channels()
@@ -577,6 +580,7 @@ class SearchWindow(xbmcgui.WindowXML):
elif action in [EXIT]:
self.Close()
reload()
close_action = True
xbmc.sleep(500)
@@ -602,6 +606,7 @@ class SearchWindow(xbmcgui.WindowXML):
elif control_id in [CLOSE]:
self.Close()
reload()
close_action = True
elif control_id in [MENU]:
@@ -769,7 +774,6 @@ class SearchWindow(xbmcgui.WindowXML):
platformtools.dialog_busy(False)
self.close()
def context(self):
focus = self.getFocusId()
if focus == EPISODESLIST: # context on episode
@@ -785,11 +789,11 @@ class SearchWindow(xbmcgui.WindowXML):
parent.noMainMenu = True
commands = platformtools.set_context_commands(item, item_url, parent)
context = [c[0] for c in commands]
context_commands = [c[1].replace('Container.Refresh', 'RunPlugin').replace('Container.Update', 'RunPlugin') for c in commands]
context_commands = [c[1].replace('Container.Refresh', 'RunPlugin').replace('Container.Update', 'RunPlugin').replace(')','&no_reload=True)') for c in commands]
index = xbmcgui.Dialog().contextmenu(context)
self.reload = True
if index > 0: xbmc.executebuiltin(context_commands[index])
def play(self, server=None):
platformtools.prevent_busy(server)
server.window = True