fix db
This commit is contained in:
@@ -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")
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user