mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-10-31 15:23:02 +00:00 
			
		
		
		
	Bugfix failed tasks can no longer aborted
Metdatabackup is done on startup if app mode is test
This commit is contained in:
		| @@ -27,14 +27,12 @@ from .tasks.metadata_backup import TaskBackupMetadata | ||||
|  | ||||
| def get_scheduled_tasks(reconnect=True): | ||||
|     tasks = list() | ||||
|     # config.schedule_reconnect or | ||||
|     # Reconnect Calibre database (metadata.db) | ||||
|     # Reconnect Calibre database (metadata.db) based on config.schedule_reconnect | ||||
|     if reconnect: | ||||
|         tasks.append([lambda: TaskReconnectDatabase(), 'reconnect', False]) | ||||
|  | ||||
|     # ToDo make configurable. Generate metadata.opf file for each changed book | ||||
|     if False: | ||||
|         tasks.append([lambda: TaskBackupMetadata("en"), 'backup metadata', False]) | ||||
|     tasks.append([lambda: TaskBackupMetadata("en"), 'backup metadata', False]) | ||||
|  | ||||
|     # Generate all missing book cover thumbnails | ||||
|     if config.schedule_generate_book_covers: | ||||
|   | ||||
| @@ -634,7 +634,7 @@ function UserActions (value, row) { | ||||
|  | ||||
| /* Function for cancelling tasks */ | ||||
| function TaskActions (value, row) { | ||||
|     var cancellableStats = [0, 1, 2]; | ||||
|     var cancellableStats = [0, 2]; | ||||
|     if (row.task_id && row.is_cancellable && cancellableStats.includes(row.stat)) { | ||||
|         return [ | ||||
|             "<div class=\"danger task-cancel\" data-toggle=\"modal\" data-target=\"#cancelTaskModal\" data-task-id=\"" + row.task_id + "\" title=\"Cancel\">", | ||||
|   | ||||
| @@ -22,8 +22,8 @@ from urllib.request import urlopen | ||||
| from lxml import etree | ||||
| from html import escape | ||||
|  | ||||
| from cps import config, db, fs, gdriveutils, logger, ub | ||||
| from cps.services.worker import CalibreTask, STAT_CANCELLED, STAT_ENDED | ||||
| from cps import config, db, gdriveutils, logger | ||||
| from cps.services.worker import CalibreTask | ||||
| from flask_babel import lazy_gettext as N_ | ||||
|  | ||||
| OPF_NAMESPACE = "http://www.idpf.org/2007/opf" | ||||
| @@ -74,7 +74,10 @@ class TaskBackupMetadata(CalibreTask): | ||||
|     def backup_metadata(self): | ||||
|         try: | ||||
|             metadata_backup = self.calibre_db.session.query(db.Metadata_Dirtied).all() | ||||
|             custom_columns = self.calibre_db.session.query(db.CustomColumns).order_by(db.CustomColumns.label).all() | ||||
|             custom_columns = (self.calibre_db.session.query(db.CustomColumns) | ||||
|                               .filter(db.CustomColumns.mark_for_delete == 0) | ||||
|                               .filter(db.CustomColumns.datatype.notin_(db.cc_exceptions)) | ||||
|                               .order_by(db.CustomColumns.label).all()) | ||||
|             count = len(metadata_backup) | ||||
|             i = 0 | ||||
|             for backup in metadata_backup: | ||||
| @@ -226,11 +229,11 @@ class TaskBackupMetadata(CalibreTask): | ||||
|         # doc = etree.tostring(package, xml_declaration=True, encoding='utf-8', pretty_print=True) # .replace(b"&quot;", b""") | ||||
|         try: | ||||
|             with open(book_metadata_filepath, 'wb') as f: | ||||
|                 # f.write(doc) | ||||
|                 doc.write(f, xml_declaration=True, encoding='utf-8', pretty_print=True) | ||||
|         except Exception: | ||||
|             # ToDo: Folder not writeable error | ||||
|             pass | ||||
|  | ||||
|     @property | ||||
|     def name(self): | ||||
|         return "Metadata backup" | ||||
|   | ||||
| @@ -18,4 +18,4 @@ lxml>=3.8.0,<5.0.0 | ||||
| flask-wtf>=0.14.2,<1.2.0 | ||||
| chardet>=3.0.0,<4.1.0 | ||||
| advocate>=1.0.0,<1.1.0 | ||||
| Flask-Limiter>=2.3.0,<3.2.0 | ||||
| Flask-Limiter>=2.3.0,<3.3.0 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ozzie Isaacs
					Ozzie Isaacs