Session no longer expires on commit (only in worker thread)
This commit is contained in:
parent
d15d252af7
commit
1a9b220ec2
|
@ -426,7 +426,7 @@ class CalibreDB():
|
||||||
# instances alive once they reach the end of their respective scopes
|
# instances alive once they reach the end of their respective scopes
|
||||||
instances = WeakSet()
|
instances = WeakSet()
|
||||||
|
|
||||||
def __init__(self, expire_on_commit=False):
|
def __init__(self, expire_on_commit=True):
|
||||||
""" Initialize a new CalibreDB session
|
""" Initialize a new CalibreDB session
|
||||||
"""
|
"""
|
||||||
self.session = None
|
self.session = None
|
||||||
|
|
|
@ -33,10 +33,9 @@ class TaskConvert(CalibreTask):
|
||||||
def run(self, worker_thread):
|
def run(self, worker_thread):
|
||||||
self.worker_thread = worker_thread
|
self.worker_thread = worker_thread
|
||||||
if config.config_use_google_drive:
|
if config.config_use_google_drive:
|
||||||
worker_db = db.CalibreDB()
|
worker_db = db.CalibreDB(expire_on_commit=False)
|
||||||
cur_book = worker_db.get_book(self.bookid)
|
cur_book = worker_db.get_book(self.bookid)
|
||||||
data = worker_db.get_book_format(self.bookid, self.settings['old_book_format'])
|
data = worker_db.get_book_format(self.bookid, self.settings['old_book_format'])
|
||||||
worker_db.session.close()
|
|
||||||
df = gdriveutils.getFileFromEbooksFolder(cur_book.path,
|
df = gdriveutils.getFileFromEbooksFolder(cur_book.path,
|
||||||
data.name + "." + self.settings['old_book_format'].lower())
|
data.name + "." + self.settings['old_book_format'].lower())
|
||||||
if df:
|
if df:
|
||||||
|
@ -46,10 +45,12 @@ class TaskConvert(CalibreTask):
|
||||||
if not os.path.exists(os.path.join(config.config_calibre_dir, cur_book.path)):
|
if not os.path.exists(os.path.join(config.config_calibre_dir, cur_book.path)):
|
||||||
os.makedirs(os.path.join(config.config_calibre_dir, cur_book.path))
|
os.makedirs(os.path.join(config.config_calibre_dir, cur_book.path))
|
||||||
df.GetContentFile(datafile)
|
df.GetContentFile(datafile)
|
||||||
|
worker_db.session.close()
|
||||||
else:
|
else:
|
||||||
error_message = _(u"%(format)s not found on Google Drive: %(fn)s",
|
error_message = _(u"%(format)s not found on Google Drive: %(fn)s",
|
||||||
format=self.settings['old_book_format'],
|
format=self.settings['old_book_format'],
|
||||||
fn=data.name + "." + self.settings['old_book_format'].lower())
|
fn=data.name + "." + self.settings['old_book_format'].lower())
|
||||||
|
worker_db.session.close()
|
||||||
return error_message
|
return error_message
|
||||||
|
|
||||||
filename = self._convert_ebook_format()
|
filename = self._convert_ebook_format()
|
||||||
|
@ -73,7 +74,7 @@ class TaskConvert(CalibreTask):
|
||||||
|
|
||||||
def _convert_ebook_format(self):
|
def _convert_ebook_format(self):
|
||||||
error_message = None
|
error_message = None
|
||||||
local_db = db.CalibreDB()
|
local_db = db.CalibreDB(expire_on_commit=False)
|
||||||
file_path = self.file_path
|
file_path = self.file_path
|
||||||
book_id = self.bookid
|
book_id = self.bookid
|
||||||
format_old_ext = u'.' + self.settings['old_book_format'].lower()
|
format_old_ext = u'.' + self.settings['old_book_format'].lower()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user