Piccola modifica

This commit is contained in:
Alhaziel01
2021-09-25 17:21:48 +02:00
parent 3838a22089
commit 4046014220
7 changed files with 28 additions and 50 deletions
+3 -1
View File
@@ -29,6 +29,8 @@ class nested_dict_sqlite(defaultdict):
self[key].close() self[key].close()
self.clear() self.clear()
db_name = filetools.join(config.get_data_path(), "db.sqlite") db_name = filetools.join(config.get_data_path(), "db.sqlite")
db = nested_dict_sqlite(lambda table: SqliteDict(db_name, table, 'c', True)) db = nested_dict_sqlite(lambda table: SqliteDict(db_name, table, 'c', True))
vdb_name = filetools.join(config.get_videolibrary_path(), "videolibrary.sqlite")
videolibrarydb = nested_dict_sqlite(lambda table: SqliteDict(vdb_name, table, 'c', True))
-20
View File
@@ -1,20 +0,0 @@
from collections import defaultdict
from lib.sqlitedict import SqliteDict
from core import filetools
from platformcode import config
class nested_dict_sqlite(defaultdict):
'like defaultdict but default_factory receives the key'
def __missing__(self, key):
self[key] = value = self.default_factory(key)
return value
def close(self):
for key in self.keys():
self[key].close()
self.clear()
db_name = filetools.join(config.get_videolibrary_path(), "videolibrary.sqlite")
videolibrarydb = nested_dict_sqlite(lambda table: SqliteDict(db_name, table, 'c', True))
+2 -2
View File
@@ -12,12 +12,12 @@ else: from concurrent_py2 import futures
import math, traceback, re, os import math, traceback, re, os
from core import filetools, scraper, scrapertools, support, httptools, tmdb from core import filetools, scraper, scrapertools, httptools, tmdb
from core.item import Item from core.item import Item
from lib import generictools from lib import generictools
from platformcode import config, dbconverter, logger, platformtools from platformcode import config, dbconverter, logger, platformtools
from platformcode.autorenumber import RENUMBER from platformcode.autorenumber import RENUMBER
from core.videolibrarydb import videolibrarydb from core import videolibrarydb
FOLDER_MOVIES = config.get_setting("folder_movies") FOLDER_MOVIES = config.get_setting("folder_movies")
FOLDER_TVSHOWS = config.get_setting("folder_tvshows") FOLDER_TVSHOWS = config.get_setting("folder_tvshows")
+2 -2
View File
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import xbmc import xbmc
from core import filetools, support, videolibrarytools from core import filetools, videolibrarytools
from core.videolibrarydb import videolibrarydb from core import videolibrarydb
from platformcode import config, logger, platformtools from platformcode import config, logger, platformtools
from platformcode.xbmc_videolibrary import execute_sql_kodi, get_data, get_file_db from platformcode.xbmc_videolibrary import execute_sql_kodi, get_data, get_file_db
from time import time, strftime, localtime from time import time, strftime, localtime
+3 -4
View File
@@ -3,7 +3,6 @@
# XBMC Launcher (xbmc / kodi) # XBMC Launcher (xbmc / kodi)
# ------------------------------------------------------------ # ------------------------------------------------------------
import platformcode
from specials import videolibrary from specials import videolibrary
import sys, os import sys, os
@@ -497,12 +496,12 @@ def play_from_library(item):
xbmc.Player().stop() xbmc.Player().stop()
if xbmc.getCondVisibility('Window.IsMedia') and not item.window_type == 0: if xbmc.getCondVisibility('Window.IsMedia') and not item.window_type == 0:
if item.contentType == 'episode': if item.contentType == 'episode':
it = videolibrarydb.videolibrarydb[item.contentType][item.videolibrary_id]['{}x{:02d}'.format(item.infoLabels['season'], item.infoLabels['episode'])]['item'] it = videolibrarydb[item.contentType][item.videolibrary_id]['{}x{:02d}'.format(item.infoLabels['season'], item.infoLabels['episode'])]['item']
else: else:
it = videolibrarydb.videolibrarydb[item.contentType][item.videolibrary_id]['item'] it = videolibrarydb[item.contentType][item.videolibrary_id]['item']
it.from_library = True it.from_library = True
xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + it.tourl() + ")") xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + it.tourl() + ")")
videolibrarydb.videolibrarydb.close() videolibrarydb.close()
else: else:
item.window = True item.window = True
return videolibrary.findvideos(item) return videolibrary.findvideos(item)
+2 -2
View File
@@ -3,7 +3,7 @@
# XBMC Library Tools # XBMC Library Tools
# ------------------------------------------------------------ # ------------------------------------------------------------
import sys, os, threading, time, re, math, xbmc, xbmcgui, sqlite3 import sys, os, threading, time, re, math, xbmc, xbmcgui
PY3 = False PY3 = False
if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int
@@ -298,7 +298,7 @@ def mark_content_as_watched_on_kodi(item, value=1):
def set_watched_on_kod(data): def set_watched_on_kod(data):
from specials import videolibrary from specials import videolibrary
from core.videolibrarytools import videolibrarydb from core import videolibrarydb
# from core.support import dbg;dbg() # from core.support import dbg;dbg()
data = jsontools.load(data) data = jsontools.load(data)
+16 -19
View File
@@ -2,16 +2,13 @@
#from builtins import str #from builtins import str
import sys, os, traceback, xbmc, xbmcgui import sys, os, traceback, xbmc, xbmcgui
from core import httptools, jsontools, support
PY3 = False PY3 = False
if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int
from core import filetools, scrapertools, videolibrarytools from core import httptools, support, filetools, scrapertools, videolibrarytools, videolibrarydb
from core.support import typo, thumb, videolibrary
from core.item import Item from core.item import Item
from platformcode import config, logger, platformtools from platformcode import config, logger, platformtools
from core.videolibrarytools import MOVIES_PATH, videolibrarydb
if PY3: if PY3:
from concurrent import futures from concurrent import futures
@@ -24,13 +21,13 @@ else:
def mainlist(item): def mainlist(item):
logger.debug() logger.debug()
itemlist = [item.clone(title=config.get_localized_string(60509), contentType='movie', action='list_movies', thumbnail=thumb('videolibrary_movie')), itemlist = [item.clone(title=config.get_localized_string(60509), contentType='movie', action='list_movies', thumbnail=support.thumb('videolibrary_movie')),
item.clone(title=typo(config.get_localized_string(70741) % config.get_localized_string(30122) + '...', 'submenu'), contentType='movie',action='search_list', thumbnail=thumb('search_movie')), item.clone(title=support.typo(config.get_localized_string(70741) % config.get_localized_string(30122) + '...', 'submenu'), contentType='movie',action='search_list', thumbnail=support.thumb('search_movie')),
item.clone(title=config.get_localized_string(60600), contentType='tvshow', action='list_tvshows', thumbnail=thumb('videolibrary_tvshow'), item.clone(title=config.get_localized_string(60600), contentType='tvshow', action='list_tvshows', thumbnail=support.thumb('videolibrary_tvshow'),
context=[{'channel':'videolibrary', 'action':'update_videolibrary', 'title':config.get_localized_string(70269)}]), context=[{'channel':'videolibrary', 'action':'update_videolibrary', 'title':config.get_localized_string(70269)}]),
item.clone(title=typo(config.get_localized_string(70741) % config.get_localized_string(30123) + '...', 'submenu'),contentType='tvshow', action='search_list', thumbnail=thumb('search_tvshow')), item.clone(title=support.typo(config.get_localized_string(70741) % config.get_localized_string(30123) + '...', 'submenu'),contentType='tvshow', action='search_list', thumbnail=support.thumb('search_tvshow')),
item.clone(channel='shortcuts', title=typo(config.get_localized_string(70287),'bold color kod'), action='SettingOnPosition', item.clone(channel='shortcuts', title=support.typo(config.get_localized_string(70287),'bold color kod'), action='SettingOnPosition',
category=2, setting=1, thumbnail = thumb('setting'),folder=False)] category=2, setting=1, thumbnail = support.thumb('setting'),folder=False)]
support.thumb(itemlist) support.thumb(itemlist)
return itemlist return itemlist
@@ -87,7 +84,7 @@ def list_genres(item):
itemlist.append(it) itemlist.append(it)
itemlist.sort(key=lambda it: it.list_genre) itemlist.sort(key=lambda it: it.list_genre)
thumb(itemlist, True) support.thumb(itemlist, True)
return itemlist return itemlist
@@ -239,10 +236,10 @@ def list_tvshows(item):
if itemlist: if itemlist:
itemlist = sorted(itemlist, key=lambda it: it.title.lower()) itemlist = sorted(itemlist, key=lambda it: it.title.lower())
add_context(itemlist) add_context(itemlist)
thumbnail = thumb('videolibrary_tvshow') thumbnail = support.thumb('videolibrary_tvshow')
itemlist += [Item(channel=item.channel, action='update_videolibrary', thumbnail=thumbnail, itemlist += [Item(channel=item.channel, action='update_videolibrary', thumbnail=thumbnail,
fanart=thumbnail, landscape=thumbnail, fanart=thumbnail, landscape=thumbnail,
title=typo(config.get_localized_string(70269), 'bold color kod'), folder=False)] title=support.typo(config.get_localized_string(70269), 'bold color kod'), folder=False)]
videolibrarydb.close() videolibrarydb.close()
return itemlist return itemlist
@@ -1014,7 +1011,7 @@ def add_download_items(item, itemlist):
if not item.fromLibrary and not localOnly: if not item.fromLibrary and not localOnly:
downloadItem = Item(channel='downloads', downloadItem = Item(channel='downloads',
from_channel=item.channel, from_channel=item.channel,
title=typo(config.get_localized_string(60355), 'color kod bold'), title=support.typo(config.get_localized_string(60355), 'color kod bold'),
fulltitle=item.fulltitle, fulltitle=item.fulltitle,
show=item.fulltitle, show=item.fulltitle,
contentType=item.contentType, contentType=item.contentType,
@@ -1024,22 +1021,22 @@ def add_download_items(item, itemlist):
from_action='findvideos', from_action='findvideos',
contentTitle=config.get_localized_string(60355), contentTitle=config.get_localized_string(60355),
path=item.path, path=item.path,
thumbnail=thumb('download'), thumbnail=support.thumb('download'),
parent=item.tourl()) parent=item.tourl())
if item.action == 'findvideos': if item.action == 'findvideos':
if item.contentType != 'movie': if item.contentType != 'movie':
downloadItem.title = '{} {}'.format(typo(config.get_localized_string(60356), 'color kod bold'), item.title) downloadItem.title = '{} {}'.format(support.typo(config.get_localized_string(60356), 'color kod bold'), item.title)
else: # film else: # film
downloadItem.title = typo(config.get_localized_string(60354), 'color kod bold') downloadItem.title = support.typo(config.get_localized_string(60354), 'color kod bold')
downloadItem.downloadItemlist = [i.tourl() for i in itemlist] downloadItem.downloadItemlist = [i.tourl() for i in itemlist]
itemlist.append(downloadItem) itemlist.append(downloadItem)
else: else:
if item.contentSeason: # season if item.contentSeason: # season
downloadItem.title = typo(config.get_localized_string(60357), 'color kod bold') downloadItem.title = support.typo(config.get_localized_string(60357), 'color kod bold')
itemlist.append(downloadItem) itemlist.append(downloadItem)
else: # tvshow + not seen else: # tvshow + not seen
itemlist.append(downloadItem) itemlist.append(downloadItem)
itemlist.append(downloadItem.clone(title=typo(config.get_localized_string(60003), 'color kod bold'), contentTitle=config.get_localized_string(60003), unseen=True)) itemlist.append(downloadItem.clone(title=support.typo(config.get_localized_string(60003), 'color kod bold'), contentTitle=config.get_localized_string(60003), unseen=True))
#-------------- DELETE -------------- #-------------- DELETE --------------