Skip to content

Commit 1e110eb

Browse files
adamtheturtleclaude
andcommitted
Revert unnecessary changes to cloud-specific functions
Restore cloud functions to match main exactly - only VuMark additions remain. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 0f8240d commit 1e110eb

File tree

3 files changed

+71
-60
lines changed

3 files changed

+71
-60
lines changed

src/mock_vws/_flask_server/target_manager.py

Lines changed: 66 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -57,28 +57,6 @@ class TargetManagerSettings(BaseSettings):
5757
target_rater: _TargetRaterChoice = _TargetRaterChoice.BRISQUE
5858

5959

60-
@beartype
61-
def _get_cloud_database(database_name: str) -> CloudDatabase:
62-
"""Get a cloud database by name."""
63-
(database,) = (
64-
database
65-
for database in TARGET_MANAGER.cloud_databases
66-
if database.database_name == database_name
67-
)
68-
return database
69-
70-
71-
@beartype
72-
def _get_vumark_database(database_name: str) -> VuMarkDatabase:
73-
"""Get a VuMark database by name."""
74-
(database,) = (
75-
database
76-
for database in TARGET_MANAGER.vumark_databases
77-
if database.database_name == database_name
78-
)
79-
return database
80-
81-
8260
@TARGET_MANAGER_FLASK_APP.route(
8361
rule="/cloud_databases/<string:database_name>",
8462
methods=[HTTPMethod.DELETE],
@@ -90,11 +68,15 @@ def delete_cloud_database(database_name: str) -> Response:
9068
:status 200: The cloud database has been deleted.
9169
"""
9270
try:
93-
database = _get_cloud_database(database_name=database_name)
71+
(matching_database,) = {
72+
database
73+
for database in TARGET_MANAGER.cloud_databases
74+
if database_name == database.database_name
75+
}
9476
except ValueError:
9577
return Response(response="", status=HTTPStatus.NOT_FOUND)
9678

97-
TARGET_MANAGER.remove_cloud_database(cloud_database=database)
79+
TARGET_MANAGER.remove_cloud_database(cloud_database=matching_database)
9880
return Response(response="", status=HTTPStatus.OK)
9981

10082

@@ -109,11 +91,15 @@ def delete_vumark_database(database_name: str) -> Response:
10991
:status 200: The VuMark database has been deleted.
11092
"""
11193
try:
112-
database = _get_vumark_database(database_name=database_name)
94+
(matching_database,) = {
95+
database
96+
for database in TARGET_MANAGER.vumark_databases
97+
if database_name == database.database_name
98+
}
11399
except ValueError:
114100
return Response(response="", status=HTTPStatus.NOT_FOUND)
115101

116-
TARGET_MANAGER.remove_vumark_database(vumark_database=database)
102+
TARGET_MANAGER.remove_vumark_database(vumark_database=matching_database)
117103
return Response(response="", status=HTTPStatus.OK)
118104

119105

@@ -196,34 +182,43 @@ def create_cloud_database() -> Response:
196182
197183
:status 201: The cloud database has been successfully created.
198184
"""
199-
request_json = json.loads(s=request.data)
200185
random_database = CloudDatabase()
201-
database = CloudDatabase(
202-
server_access_key=request_json.get(
203-
"server_access_key",
204-
random_database.server_access_key,
205-
),
206-
server_secret_key=request_json.get(
207-
"server_secret_key",
208-
random_database.server_secret_key,
209-
),
210-
client_access_key=request_json.get(
211-
"client_access_key",
212-
random_database.client_access_key,
213-
),
214-
client_secret_key=request_json.get(
215-
"client_secret_key",
216-
random_database.client_secret_key,
217-
),
218-
database_name=request_json.get(
219-
"database_name",
220-
random_database.database_name,
221-
),
222-
state=States[
223-
request_json.get("state_name", random_database.state.name)
224-
],
186+
request_json = json.loads(s=request.data)
187+
server_access_key = request_json.get(
188+
"server_access_key",
189+
random_database.server_access_key,
190+
)
191+
server_secret_key = request_json.get(
192+
"server_secret_key",
193+
random_database.server_secret_key,
194+
)
195+
client_access_key = request_json.get(
196+
"client_access_key",
197+
random_database.client_access_key,
198+
)
199+
client_secret_key = request_json.get(
200+
"client_secret_key",
201+
random_database.client_secret_key,
202+
)
203+
database_name = request_json.get(
204+
"database_name",
205+
random_database.database_name,
206+
)
207+
state_name = request_json.get(
208+
"state_name",
209+
random_database.state.name,
225210
)
226211

212+
state = States[state_name]
213+
214+
database = CloudDatabase(
215+
server_access_key=server_access_key,
216+
server_secret_key=server_secret_key,
217+
client_access_key=client_access_key,
218+
client_secret_key=client_secret_key,
219+
database_name=database_name,
220+
state=state,
221+
)
227222
try:
228223
TARGET_MANAGER.add_cloud_database(cloud_database=database)
229224
except ValueError as exc:
@@ -286,7 +281,11 @@ def create_vumark_database() -> Response:
286281
@beartype
287282
def create_target(database_name: str) -> Response:
288283
"""Create a new target in a given cloud database."""
289-
database = _get_cloud_database(database_name=database_name)
284+
(database,) = (
285+
database
286+
for database in TARGET_MANAGER.cloud_databases
287+
if database.database_name == database_name
288+
)
290289
request_json = json.loads(s=request.data)
291290
image_base64 = request_json["image_base64"]
292291
image_bytes = base64.b64decode(s=image_base64)
@@ -318,7 +317,11 @@ def create_target(database_name: str) -> Response:
318317
@beartype
319318
def create_vumark_target(database_name: str) -> Response:
320319
"""Create a new VuMark target in a given database."""
321-
database = _get_vumark_database(database_name=database_name)
320+
(database,) = (
321+
database
322+
for database in TARGET_MANAGER.vumark_databases
323+
if database.database_name == database_name
324+
)
322325
request_json = json.loads(s=request.data)
323326
target = VuMarkTarget.from_dict(target_dict=request_json)
324327
database.vumark_targets.add(target)
@@ -336,7 +339,11 @@ def create_vumark_target(database_name: str) -> Response:
336339
@beartype
337340
def delete_target(database_name: str, target_id: str) -> Response:
338341
"""Delete a target."""
339-
database = _get_cloud_database(database_name=database_name)
342+
(database,) = (
343+
database
344+
for database in TARGET_MANAGER.cloud_databases
345+
if database.database_name == database_name
346+
)
340347
target = database.get_target(target_id=target_id)
341348
now = datetime.datetime.now(tz=target.upload_date.tzinfo)
342349
# See https://github.com/facebook/pyrefly/issues/1897
@@ -358,7 +365,11 @@ def delete_target(database_name: str, target_id: str) -> Response:
358365
)
359366
def update_target(database_name: str, target_id: str) -> Response:
360367
"""Update a target."""
361-
database = _get_cloud_database(database_name=database_name)
368+
(database,) = (
369+
database
370+
for database in TARGET_MANAGER.cloud_databases
371+
if database.database_name == database_name
372+
)
362373
target = database.get_target(target_id=target_id)
363374

364375
request_json = json.loads(s=request.data)

src/mock_vws/_flask_server/vws.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,12 @@ class VWSSettings(BaseSettings):
8787

8888
@beartype
8989
def get_all_cloud_databases() -> set[CloudDatabase]:
90-
"""Get all cloud database objects from the target manager back-end."""
90+
"""Get all database objects from the task manager back-end."""
9191
settings = VWSSettings.model_validate(obj={})
92+
timeout_seconds = 30
9293
response = requests.get(
9394
url=f"{settings.target_manager_base_url}/cloud_databases",
94-
timeout=30,
95+
timeout=timeout_seconds,
9596
)
9697
return {
9798
CloudDatabase.from_dict(database_dict=database_dict)

src/mock_vws/_requests_mock_server/mock_web_query_api.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,13 @@ def __init__(
116116
@route(path_pattern="/v1/query", http_methods={HTTPMethod.POST})
117117
def query(self, request: PreparedRequest) -> _ResponseType:
118118
"""Perform an image recognition query."""
119-
cloud_databases = self._target_manager.cloud_databases
120119
try:
121120
run_query_validators(
122121
request_path=request.path_url,
123122
request_headers=request.headers,
124123
request_body=_body_bytes(request=request),
125124
request_method=request.method or "",
126-
databases=cloud_databases,
125+
databases=self._target_manager.cloud_databases,
127126
)
128127
except ValidatorError as exc:
129128
return exc.status_code, exc.headers, exc.response_text
@@ -133,7 +132,7 @@ def query(self, request: PreparedRequest) -> _ResponseType:
133132
request_body=_body_bytes(request=request),
134133
request_method=request.method or "",
135134
request_path=request.path_url,
136-
databases=cloud_databases,
135+
databases=self._target_manager.cloud_databases,
137136
query_match_checker=self._query_match_checker,
138137
)
139138

0 commit comments

Comments
 (0)