Skip to content

Commit bb3aff5

Browse files
committed
Remove types-flask
1 parent 949fad3 commit bb3aff5

File tree

3 files changed

+41
-19
lines changed

3 files changed

+41
-19
lines changed

src/mock_vws/_flask_server/target_manager.py

Lines changed: 35 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from http import HTTPStatus
1010
from zoneinfo import ZoneInfo
1111

12-
from flask import Flask, jsonify, request
12+
from flask import Flask, Response, request
1313
from pydantic import BaseSettings
1414

1515
from mock_vws.database import VuforiaDatabase
@@ -32,7 +32,7 @@ class TargetManagerSettings(BaseSettings):
3232
"/databases/<string:database_name>",
3333
methods=["DELETE"],
3434
)
35-
def delete_database(database_name: str) -> tuple[str, int]:
35+
def delete_database(database_name: str) -> Response:
3636
"""
3737
Delete a database.
3838
@@ -45,23 +45,26 @@ def delete_database(database_name: str) -> tuple[str, int]:
4545
if database_name == database.database_name
4646
}
4747
except ValueError:
48-
return "", HTTPStatus.NOT_FOUND
48+
return Response(response="", status=HTTPStatus.NOT_FOUND)
4949

5050
TARGET_MANAGER.remove_database(database=matching_database)
51-
return "", HTTPStatus.OK
51+
return Response(response="", status=HTTPStatus.OK)
5252

5353

5454
@TARGET_MANAGER_FLASK_APP.route("/databases", methods=["GET"])
55-
def get_databases() -> tuple[str, int]:
55+
def get_databases() -> Response:
5656
"""
5757
Return a list of all databases.
5858
"""
5959
databases = [database.to_dict() for database in TARGET_MANAGER.databases]
60-
return jsonify(databases), HTTPStatus.OK
60+
return Response(
61+
response=json.dumps(obj=databases),
62+
status=HTTPStatus.OK,
63+
)
6164

6265

6366
@TARGET_MANAGER_FLASK_APP.route("/databases", methods=["POST"])
64-
def create_database() -> tuple[str, int]:
67+
def create_database() -> Response:
6568
"""
6669
Create a new database.
6770
@@ -131,16 +134,22 @@ def create_database() -> tuple[str, int]:
131134
try:
132135
TARGET_MANAGER.add_database(database=database)
133136
except ValueError as exc:
134-
return str(exc), HTTPStatus.CONFLICT
135-
136-
return jsonify(database.to_dict()), HTTPStatus.CREATED
137+
return Response(
138+
response=str(exc),
139+
status=HTTPStatus.CONFLICT,
140+
)
141+
142+
return Response(
143+
response=json.dumps(database.to_dict()),
144+
status=HTTPStatus.CREATED,
145+
)
137146

138147

139148
@TARGET_MANAGER_FLASK_APP.route(
140149
"/databases/<string:database_name>/targets",
141150
methods=["POST"],
142151
)
143-
def create_target(database_name: str) -> tuple[str, int]:
152+
def create_target(database_name: str) -> Response:
144153
"""
145154
Create a new target in a given database.
146155
"""
@@ -163,14 +172,17 @@ def create_target(database_name: str) -> tuple[str, int]:
163172
)
164173
database.targets.add(target)
165174

166-
return jsonify(target.to_dict()), HTTPStatus.CREATED
175+
return Response(
176+
response=json.dumps(target.to_dict()),
177+
status=HTTPStatus.CREATED,
178+
)
167179

168180

169181
@TARGET_MANAGER_FLASK_APP.route(
170182
"/databases/<string:database_name>/targets/<string:target_id>",
171183
methods=["DELETE"],
172184
)
173-
def delete_target(database_name: str, target_id: str) -> tuple[str, int]:
185+
def delete_target(database_name: str, target_id: str) -> Response:
174186
"""
175187
Delete a target.
176188
"""
@@ -184,14 +196,17 @@ def delete_target(database_name: str, target_id: str) -> tuple[str, int]:
184196
new_target = dataclasses.replace(target, delete_date=now)
185197
database.targets.remove(target)
186198
database.targets.add(new_target)
187-
return jsonify(new_target.to_dict()), HTTPStatus.OK
199+
return Response(
200+
response=json.dumps(new_target.to_dict()),
201+
status=HTTPStatus.OK,
202+
)
188203

189204

190205
@TARGET_MANAGER_FLASK_APP.route(
191206
"/databases/<string:database_name>/targets/<string:target_id>",
192207
methods=["PUT"],
193208
)
194-
def update_target(database_name: str, target_id: str) -> tuple[str, int]:
209+
def update_target(database_name: str, target_id: str) -> Response:
195210
"""
196211
Update a target.
197212
"""
@@ -214,7 +229,7 @@ def update_target(database_name: str, target_id: str) -> tuple[str, int]:
214229
image_value = target.image_value
215230
request_json = json.loads(request.data)
216231
if "image" in request_json:
217-
image_value = base64.b64decode(s=request.json["image"])
232+
image_value = base64.b64decode(s=request_json["image"])
218233

219234
gmt = ZoneInfo("GMT")
220235
last_modified_date = datetime.datetime.now(tz=gmt)
@@ -232,7 +247,10 @@ def update_target(database_name: str, target_id: str) -> tuple[str, int]:
232247
database.targets.remove(target)
233248
database.targets.add(new_target)
234249

235-
return jsonify(new_target.to_dict()), HTTPStatus.OK
250+
return Response(
251+
response=json.dumps(new_target.to_dict()),
252+
status=HTTPStatus.OK,
253+
)
236254

237255

238256
if __name__ == "__main__": # pragma: no cover

src/mock_vws/_flask_server/vwq.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ class ResponseNoContentTypeAdded(Response):
9696
Some of our responses need to not have a "Content-Type" header.
9797
"""
9898

99-
default_mimetype = None
99+
# The type in Flask is incorrect.
100+
# See https://github.com/pallets/flask/pull/5034.
101+
default_mimetype = None # type: ignore[assignment]
100102

101103

102104
CLOUDRECO_FLASK_APP.response_class = ResponseNoContentTypeAdded

src/mock_vws/_flask_server/vws.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ class ResponseNoContentTypeAdded(Response):
6767
Some of our responses need to not have a "Content-Type" header.
6868
"""
6969

70-
default_mimetype = None
70+
# The type in Flask is incorrect.
71+
# See https://github.com/pallets/flask/pull/5034.
72+
default_mimetype = None # type: ignore[assignment]
7173

7274

7375
VWS_FLASK_APP.response_class = ResponseNoContentTypeAdded

0 commit comments

Comments
 (0)