Skip to content

Commit ba89e52

Browse files
authored
Merge pull request #103 from serv-c/claude/issue-102-20250731-1210
fix: resolve mypy typing issues in blob.py
2 parents b111645 + 43eb6a5 commit ba89e52

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

.github/workflows/claude.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,4 @@ jobs:
3434
with:
3535
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
3636
timeout_minutes: "60"
37+
allowed_tools: 'Bash(*),Bash(gh *)'

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 # type: ignore
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)