about summary refs log tree commit diff
path: root/uploader/background_jobs.py
diff options
context:
space:
mode:
Diffstat (limited to 'uploader/background_jobs.py')
-rw-r--r--uploader/background_jobs.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/uploader/background_jobs.py b/uploader/background_jobs.py
index 09ea0c0..dc9f837 100644
--- a/uploader/background_jobs.py
+++ b/uploader/background_jobs.py
@@ -1,11 +1,10 @@
+"""Generic views and utilities to handle background jobs."""
 import uuid
-import logging
 import importlib
 from typing import Callable
 from functools import partial
 
 from flask import (
-    request,
     url_for,
     redirect,
     Response,
@@ -29,8 +28,11 @@ def __default_error_handler__(job: dict) -> Response:
 def register_handlers(
         job_type: str,
         success_handler: HandlerType,
+        # pylint: disable=[redefined-outer-name]
         error_handler: HandlerType = __default_error_handler__
+        # pylint: disable=[redefined-outer-name]
 ) -> str:
+    """Register success and error handlers for each job type."""
     if not bool(app.config.get("background-jobs")):
         app.config["background-jobs"] = {}
 
@@ -49,19 +51,19 @@ def register_job_handlers(job: str):
         _parts = absolute_function_path.split(".")
         app.logger.debug("THE PARTS ARE: %s", _parts)
         assert len(_parts) > 1, f"Invalid path: {absolute_function_path}"
-        function = _parts[-1]
         module = importlib.import_module(f".{_parts[-2]}",
                                          package=".".join(_parts[0:-2]))
         return getattr(module, _parts[-1])
 
     metadata = job["metadata"]
     if metadata["success_handler"]:
-        success_handler = __load_handler__(metadata["success_handler"])
+        _success_handler = __load_handler__(metadata["success_handler"])
         try:
-            error_handler = __load_handler__(metadata["error_handler"])
-        except Exception as _exc:
-            error_handler = __default_error_handler__
-        register_handlers(metadata["job-type"], success_handler, error_handler)
+            _error_handler = __load_handler__(metadata["error_handler"])
+        except Exception as _exc:# pylint: disable=[broad-exception-caught]
+            _error_handler = __default_error_handler__
+        register_handlers(
+            metadata["job-type"], _success_handler, _error_handler)
 
 
 def handler(job: dict, handler_type: str) -> HandlerType:
@@ -74,7 +76,7 @@ def handler(job: dict, handler_type: str) -> HandlerType:
     ).get(handler_type)
     if bool(_handler):
         return _handler(job)
-    raise Exception(
+    raise Exception(# pylint: disable=[broad-exception-raised]
         f"No '{handler_type}' handler registered for job type: {_job_type}")
 
 
@@ -98,8 +100,8 @@ def job_status(job_id: uuid.UUID):
             if status == "completed":
                 return success_handler(job)
 
-            return render_template(f"jobs/job-status.html", job=job)
-        except JobNotFound as jnf:
+            return render_template("jobs/job-status.html", job=job)
+        except JobNotFound as _jnf:
             return render_template(
                 "jobs/job-not-found.html",
                 job_id=job_id)
@@ -108,9 +110,10 @@ def job_status(job_id: uuid.UUID):
 @background_jobs_bp.route("/error/<uuid:job_id>")
 @require_login
 def job_error(job_id: uuid.UUID):
+    """Handle job errors in a generic manner."""
     with sqlite3.connection(app.config["ASYNCHRONOUS_JOBS_SQLITE_DB"]) as conn:
         try:
             job = jobs.job(conn, job_id, fulldetails=True)
             return render_template("jobs/job-error.html", job=job)
-        except JobNotFound as jnf:
+        except JobNotFound as _jnf:
             return render_template("jobs/job-not-found.html", job_id=job_id)