This commit is contained in:
mac12m99
2021-02-17 20:56:17 +01:00
parent 0bad0e5169
commit 4d1898cf04
4 changed files with 11 additions and 6 deletions
+1
View File
@@ -27,6 +27,7 @@ class nested_dict_sqlite(defaultdict):
def close(self): def close(self):
for key in self.keys(): for key in self.keys():
self[key].close() self[key].close()
self.clear()
db_name = filetools.join(config.get_data_path(), "db.sqlite") db_name = filetools.join(config.get_data_path(), "db.sqlite")
+1 -1
View File
@@ -343,7 +343,7 @@ def run(item=None):
if platformtools.dialog_yesno(config.get_localized_string(60038), config.get_localized_string(60015)): if platformtools.dialog_yesno(config.get_localized_string(60038), config.get_localized_string(60015)):
run(Item(channel="setting", action="report_menu")) run(Item(channel="setting", action="report_menu"))
finally: finally:
if not item.action.startswith('play'): # db need to be closed when not used, it will cause freezes
from core import db from core import db
db.close() db.close()
+4 -1
View File
@@ -102,7 +102,10 @@ def mark_auto_as_watched(item):
xbmc.sleep(500) xbmc.sleep(500)
if next_episode and next_episode.next_ep: if next_episode and next_episode.next_ep:
from platformcode.launcher import play_from_library from platformcode.launcher import play_from_library
return play_from_library(next_episode) play_from_library(next_episode)
# db need to be closed when not used, it will cause freezes
from core import db
db.close()
# If it is configured to mark as seen # If it is configured to mark as seen
if config.get_setting("mark_as_watched", "videolibrary"): if config.get_setting("mark_as_watched", "videolibrary"):
+3 -2
View File
@@ -22,7 +22,7 @@ except:
librerias = xbmc.translatePath(os.path.join(config.get_runtime_path(), 'lib')) librerias = xbmc.translatePath(os.path.join(config.get_runtime_path(), 'lib'))
sys.path.insert(0, librerias) sys.path.insert(0, librerias)
from core import videolibrarytools, filetools, channeltools, httptools, scrapertools from core import videolibrarytools, filetools, channeltools, httptools, scrapertools, db
from lib import schedule from lib import schedule
from platformcode import logger, platformtools, updater, xbmc_videolibrary from platformcode import logger, platformtools, updater, xbmc_videolibrary
from specials import videolibrary from specials import videolibrary
@@ -456,7 +456,6 @@ if __name__ == "__main__":
if filetools.isfile(old_db_name): if filetools.isfile(old_db_name):
try: try:
import sqlite3 import sqlite3
from core import db
old_db_conn = sqlite3.connect(old_db_name, timeout=15) old_db_conn = sqlite3.connect(old_db_name, timeout=15)
old_db = old_db_conn.cursor() old_db = old_db_conn.cursor()
@@ -522,4 +521,6 @@ if __name__ == "__main__":
logger.error(traceback.format_exc()) logger.error(traceback.format_exc())
if monitor.waitForAbort(1): # every second if monitor.waitForAbort(1): # every second
# db need to be closed when not used, it will cause freezes
db.close()
break break