Prevent crash caused by artwork deletion

Prevent database being locked from crashing process. Instead log it.
This commit is contained in:
angelblue05 2016-02-28 21:39:00 -06:00
parent c4e936e985
commit a0acdd6a7a
1 changed files with 6 additions and 2 deletions

View File

@ -6,6 +6,7 @@ import json
import requests import requests
import os import os
import urllib import urllib
from sqlite3 import OperationalError
import xbmc import xbmc
import xbmcgui import xbmcgui
@ -458,12 +459,15 @@ class Artwork():
connection = utils.kodiSQL('texture') connection = utils.kodiSQL('texture')
cursor = connection.cursor() cursor = connection.cursor()
cursor.execute("SELECT cachedurl FROM texture WHERE url = ?", (url,))
try: try:
cursor.execute("SELECT cachedurl FROM texture WHERE url = ?", (url,))
cachedurl = cursor.fetchone()[0] cachedurl = cursor.fetchone()[0]
except TypeError: except TypeError:
self.logMsg("Could not find cached url.", 1) self.logMsg("Could not find cached url.", 1)
except OperationalError:
self.logMsg("Database is locked. Skip deletion process.", 1)
else: # Delete thumbnail as well as the entry else: # Delete thumbnail as well as the entry
thumbnails = xbmc.translatePath("special://thumbnails/%s" % cachedurl).decode('utf-8') thumbnails = xbmc.translatePath("special://thumbnails/%s" % cachedurl).decode('utf-8')
@ -473,7 +477,7 @@ class Artwork():
try: try:
cursor.execute("DELETE FROM texture WHERE url = ?", (url,)) cursor.execute("DELETE FROM texture WHERE url = ?", (url,))
connection.commit() connection.commit()
except: except OperationalError:
self.logMsg("Issue deleting url from cache. Skipping.", 2) self.logMsg("Issue deleting url from cache. Skipping.", 2)
finally: finally: