diff --git a/cps/db.py b/cps/db.py index a519d5bf..2cf1d98b 100644 --- a/cps/db.py +++ b/cps/db.py @@ -48,6 +48,7 @@ try: except ImportError: use_unidecode = False +Session = None cc_exceptions = ['datetime', 'comments', 'composite', 'series'] cc_classes = {} @@ -409,6 +410,7 @@ class CalibreDB(): def setup_db(self, config, app_db_path): self.config = config self.dispose() + global Session if not config.config_calibre_dir: config.invalidate() @@ -678,6 +680,7 @@ class CalibreDB(): conn.create_function("title_sort", 1, _title_sort) def dispose(self): + # global session old_session = self.session self.session = None diff --git a/cps/tasks/convert.py b/cps/tasks/convert.py index d0b59dc8..2b679fc0 100644 --- a/cps/tasks/convert.py +++ b/cps/tasks/convert.py @@ -53,7 +53,7 @@ class TaskConvert(CalibreTask): def _convert_ebook_format(self): error_message = None - # local_session = db.Session() + local_session = db.Session() file_path = self.file_path book_id = self.bookid format_old_ext = u'.' + self.settings['old_book_format'].lower() @@ -94,10 +94,10 @@ class TaskConvert(CalibreTask): book_format=self.settings['new_book_format'].upper(), book=book_id, uncompressed_size=os.path.getsize(file_path + format_new_ext)) try: - calibre_db.session.merge(new_format) - calibre_db.session.commit() + local_session.merge(new_format) + local_session.commit() except SQLAlchemyError as e: - calibre_db.session.rollback() + local_session.rollback() log.error("Database error: %s", e) return self.results['path'] = cur_book.path