Fix aggiunta alla videoteca tramite Ricerca Globale
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user