From 5434ede5f99f81d5d53460152d395f67bf3121a8 Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Thu, 30 Jan 2025 13:33:22 +0000 Subject: [PATCH] Use 'copy.replace' rather than dataclasses.replace - do not expect forever that `target` is a dataclass --- src/mock_vws/_flask_server/target_manager.py | 6 +++--- src/mock_vws/_requests_mock_server/mock_web_services_api.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mock_vws/_flask_server/target_manager.py b/src/mock_vws/_flask_server/target_manager.py index 8c06246f0..3e97b86d4 100644 --- a/src/mock_vws/_flask_server/target_manager.py +++ b/src/mock_vws/_flask_server/target_manager.py @@ -3,7 +3,7 @@ """ import base64 -import dataclasses +import copy import datetime import json from enum import StrEnum, auto @@ -248,7 +248,7 @@ def delete_target(database_name: str, target_id: str) -> Response: ) target = database.get_target(target_id=target_id) now = datetime.datetime.now(tz=target.upload_date.tzinfo) - new_target = dataclasses.replace(target, delete_date=now) + new_target = copy.replace(target, delete_date=now) database.targets.remove(target) database.targets.add(new_target) return Response( @@ -289,7 +289,7 @@ def update_target(database_name: str, target_id: str) -> Response: gmt = ZoneInfo(key="GMT") last_modified_date = datetime.datetime.now(tz=gmt) - new_target = dataclasses.replace( + new_target = copy.replace( target, name=name, width=width, diff --git a/src/mock_vws/_requests_mock_server/mock_web_services_api.py b/src/mock_vws/_requests_mock_server/mock_web_services_api.py index eab879a7a..9a6b30a8d 100644 --- a/src/mock_vws/_requests_mock_server/mock_web_services_api.py +++ b/src/mock_vws/_requests_mock_server/mock_web_services_api.py @@ -5,7 +5,7 @@ """ import base64 -import dataclasses +import copy import datetime import email.utils import json @@ -243,7 +243,7 @@ def delete_target(self, request: PreparedRequest) -> _ResponseType: ) now = datetime.datetime.now(tz=target.upload_date.tzinfo) - new_target = dataclasses.replace(target, delete_date=now) + new_target = copy.replace(target, delete_date=now) database.targets.remove(target) database.targets.add(new_target) date = email.utils.formatdate( @@ -602,7 +602,7 @@ def update_target(self, request: PreparedRequest) -> _ResponseType: gmt = ZoneInfo(key="GMT") last_modified_date = datetime.datetime.now(tz=gmt) - new_target = dataclasses.replace( + new_target = copy.replace( target, name=name, width=width,