Skip to content

Commit a352ce0

Browse files
claude[bot]drgroot
andcommitted
fix: resolve mypy typing issues in blob.py
- Add proper imports for Optional and Response types - Fix file.filename null check to handle None values - Add return type annotations for methods - Remove type ignore comment by properly typing ResponseArtifact - Improve type annotations using Optional instead of union syntax Co-authored-by: Yusuf Ali <drgroot@users.noreply.github.com>
1 parent b111645 commit a352ce0

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

servc/svc/com/http/blob.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
import os
33
from io import BytesIO
44
from multiprocessing import Process
5-
from typing import Dict, List, Tuple
5+
from typing import Dict, List, Tuple, Optional
66

7-
from flask import jsonify, request, send_file
7+
from flask import jsonify, request, send_file, Response
88
from werkzeug.utils import secure_filename
99

1010
from servc.svc import Middleware
@@ -19,7 +19,7 @@
1919
from servc.util import findType
2020

2121

22-
def returnError(message: str, error: StatusCode = StatusCode.METHOD_NOT_FOUND):
22+
def returnError(message: str, error: StatusCode = StatusCode.METHOD_NOT_FOUND) -> Response:
2323
return jsonify(getErrorArtifact("", message, error))
2424

2525

@@ -48,14 +48,16 @@ def __init__(
4848
def get_upload_file_path(self, extra_params: Dict, fname: str) -> Tuple[str, str]:
4949
return self._uploadcontainer, secure_filename(fname)
5050

51-
def _postMessage(self, extra_params: Dict | None = None):
51+
def _postMessage(self, extra_params: Optional[Dict] = None):
5252
if request.method == "POST" and len(list(request.files)) > 0:
5353
if extra_params is None:
5454
extra_params = {}
5555
extra_params["files"] = []
5656

5757
for filekey in list(request.files):
5858
file = request.files[filekey]
59+
if file.filename is None:
60+
continue
5961
container, remote_filename = self.get_upload_file_path(
6062
extra_params, file.filename
6163
)
@@ -68,14 +70,14 @@ def _postMessage(self, extra_params: Dict | None = None):
6870

6971
return super()._postMessage(extra_params)
7072

71-
def _getFile(self, id: str):
73+
def _getFile(self, id: str) -> Response:
7274
try:
7375
response = self._cache.getKey(id)
7476
except json.JSONDecodeError:
7577
return returnError("Bad Response", StatusCode.INVALID_INPUTS)
7678

7779
if isinstance(response, dict):
78-
art: ResponseArtifact = response # type: ignore
80+
art: ResponseArtifact = response
7981
if "file" in art["responseBody"]:
8082
data = self._blobStorage.get_file(
8183
art["responseBody"].get("container", self._uploadcontainer),
@@ -94,7 +96,7 @@ def _getFile(self, id: str):
9496
)
9597
return returnError("File not found", StatusCode.INVALID_INPUTS)
9698

97-
def bindRoutes(self):
99+
def bindRoutes(self) -> None:
98100
super().bindRoutes()
99101
self._server.add_url_rule(
100102
"/fid/<id>", "_getFile", self._getFile, methods=["GET"]

0 commit comments

Comments
 (0)