about summary refs log tree commit diff
path: root/qc_app/entry.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2022-06-15 09:36:18 +0300
committerFrederick Muriuki Muriithi2022-06-15 09:36:18 +0300
commitd2605cb72d7cdbc7d3cc633b94a451c0acd2edbb (patch)
tree8bf992967a750bf4dc71290b78285f6239823816 /qc_app/entry.py
parent6760d322637a3d875242a66e9c1a784866d7df1d (diff)
downloadgn-uploader-d2605cb72d7cdbc7d3cc633b94a451c0acd2edbb.tar.gz
Fix linting and type errors
Diffstat (limited to 'qc_app/entry.py')
-rw-r--r--qc_app/entry.py50
1 files changed, 24 insertions, 26 deletions
diff --git a/qc_app/entry.py b/qc_app/entry.py
index 7f67a33..c53648a 100644
--- a/qc_app/entry.py
+++ b/qc_app/entry.py
@@ -1,7 +1,5 @@
 """Entry-point module"""
 import os
-import random
-import string
 import mimetypes
 from typing import Tuple
 from zipfile import ZipFile, is_zipfile
@@ -18,24 +16,24 @@ from flask import (
 
 entrybp = Blueprint("entry", __name__)
 
-def errors(request) -> Tuple[str, ...]:
-    """Return a tuple of the errors found in the `request`. If no error is
+def errors(rqst) -> Tuple[str, ...]:
+    """Return a tuple of the errors found in the request `rqst`. If no error is
     found, then an empty tuple is returned."""
     def __filetype_error__():
         return (
             ("Invalid file type provided.",)
-            if request.form.get("filetype") not in ("average", "standard-error")
+            if rqst.form.get("filetype") not in ("average", "standard-error")
             else tuple())
 
     def __file_missing_error__():
         return (
             ("No file was uploaded.",)
-            if ("qc_text_file" not in request.files or
-                request.files["qc_text_file"].filename == "")
+            if ("qc_text_file" not in rqst.files or
+                rqst.files["qc_text_file"].filename == "")
             else tuple())
 
     def __file_mimetype_error__():
-        text_file = request.files["qc_text_file"]
+        text_file = rqst.files["qc_text_file"]
         return (
             (
                 ("Invalid file! Expected a tab-separated-values file, or a zip "
@@ -50,26 +48,26 @@ def errors(request) -> Tuple[str, ...]:
 
 def zip_file_errors(filepath, upload_dir) -> Tuple[str, ...]:
     """Check the uploaded zip file for errors."""
-    zfile_errors = tuple()
+    zfile_errors: Tuple[str, ...] = tuple()
     if is_zipfile(filepath):
-        zfile = ZipFile(filepath, "r")
-        infolist = zfile.infolist()
-        if len(infolist) != 1:
-            zfile_errors = zfile_errors + (
-                ("Expected exactly one (1) member file within the uploaded zip "
-                 "file. Got {len(infolist)} member files."))
-        if len(infolist) == 1 and infolist[0].is_dir():
-            zfile_errors = zfile_errors + (
-                ("Expected a member text file in the uploaded zip file. Got a "
-                 "directory/folder."))
-
-        if len(infolist) == 1 and not infolist[0].is_dir():
-            zfile.extract(infolist[0], path=upload_dir)
-            mime = mimetypes.guess_type(f"{upload_dir}/{infolist[0].filename}")
-            if mime[0] != "text/tab-separated-values":
+        with ZipFile(filepath, "r") as zfile:
+            infolist = zfile.infolist()
+            if len(infolist) != 1:
+                zfile_errors = zfile_errors + (
+                    ("Expected exactly one (1) member file within the uploaded zip "
+                     "file. Got {len(infolist)} member files."),)
+            if len(infolist) == 1 and infolist[0].is_dir():
                 zfile_errors = zfile_errors + (
-                    ("Expected the member text file in the uploaded zip file to"
-                     " be a tab-separated file."))
+                    ("Expected a member text file in the uploaded zip file. Got a "
+                     "directory/folder."),)
+
+            if len(infolist) == 1 and not infolist[0].is_dir():
+                zfile.extract(infolist[0], path=upload_dir)
+                mime = mimetypes.guess_type(f"{upload_dir}/{infolist[0].filename}")
+                if mime[0] != "text/tab-separated-values":
+                    zfile_errors = zfile_errors + (
+                        ("Expected the member text file in the uploaded zip file to"
+                         " be a tab-separated file."),)
 
     return zfile_errors