From a841222960ffa1bf97e7462cf8f114daa7b31274 Mon Sep 17 00:00:00 2001 From: Gary Brandon Date: Thu, 2 Nov 2023 07:34:30 +1100 Subject: [PATCH] Clean up deprecations (#156) * Pydantic v2 upgrade * Unused imports --- master/protocols/__init__.py | 2 -- master/protocols/decoder.py | 4 ++-- master/protocols/models/base.py | 6 ++---- master/protocols/models/idtech1/__init__.py | 2 -- master/server/handlers/healthcheck.py | 1 - master/storage/backends/dynamodb.py | 4 ++-- master/storage/models/server.py | 5 ++--- 7 files changed, 8 insertions(+), 16 deletions(-) diff --git a/master/protocols/__init__.py b/master/protocols/__init__.py index 96a4ecd0..3683ecf3 100644 --- a/master/protocols/__init__.py +++ b/master/protocols/__init__.py @@ -1,5 +1,3 @@ -import logging - from master.protocols.decoder import Decoder from master.protocols.models import ALL_ACTIVE_PROTOCOLS, GameProtocol from master.protocols.models.response import ProtocolResponse diff --git a/master/protocols/decoder.py b/master/protocols/decoder.py index 78fbdfbc..cbfe1fc0 100644 --- a/master/protocols/decoder.py +++ b/master/protocols/decoder.py @@ -48,8 +48,8 @@ def decode(self, data: bytes) -> dict: return result def generate_protocol_response(self, data: bytes) -> ProtocolResponse: - response = self.decode(data) - return ProtocolResponse.parse_obj(response) + response: dict = self.decode(data) + return ProtocolResponse.model_validate(response, strict=True) def _generate_metadata(self) -> ResultTypeDict: """ diff --git a/master/protocols/models/base.py b/master/protocols/models/base.py index 4f38deee..5fabf928 100644 --- a/master/protocols/models/base.py +++ b/master/protocols/models/base.py @@ -1,12 +1,10 @@ -from collections.abc import Mapping from typing import Literal, Optional -from pydantic import BaseModel, Field # pylint: disable=no-name-in-module +from pydantic import BaseModel, ConfigDict, Field # pylint: disable=no-name-in-module class BaseProtocol(BaseModel): - class Config: - str_strip_whitespace = True + model_config = ConfigDict(str_strip_whitespace=True) class BaseProtocolHeader(BaseModel): diff --git a/master/protocols/models/idtech1/__init__.py b/master/protocols/models/idtech1/__init__.py index 082ad3d7..aa623412 100644 --- a/master/protocols/models/idtech1/__init__.py +++ b/master/protocols/models/idtech1/__init__.py @@ -1,5 +1,3 @@ -from pydantic import Field - from master.protocols.models import GameProtocol from master.protocols.models.response import ProtocolResponse diff --git a/master/server/handlers/healthcheck.py b/master/server/handlers/healthcheck.py index e2892482..83368c14 100644 --- a/master/server/handlers/healthcheck.py +++ b/master/server/handlers/healthcheck.py @@ -1,4 +1,3 @@ -import logging from socketserver import StreamRequestHandler PROTOCOL: str = "HTTP/1.1" diff --git a/master/storage/backends/dynamodb.py b/master/storage/backends/dynamodb.py index 0352aebb..c8c59c35 100644 --- a/master/storage/backends/dynamodb.py +++ b/master/storage/backends/dynamodb.py @@ -115,7 +115,7 @@ def get_server(self, address: str, game: str | None = None) -> Server | None: result: Item | None = self._query_item(address, game) if result: - server = Server.parse_obj(result) + server = Server.model_validate(result, strict=True) return server @@ -124,7 +124,7 @@ def get_servers(self, game: str | None = None) -> list[Server]: result = self._scan(game) for server in result: - servers.append(Server.parse_obj(server)) + servers.append(Server.model_validate(server, strict=True)) return servers diff --git a/master/storage/models/server.py b/master/storage/models/server.py index 12ff5411..aa0a8280 100644 --- a/master/storage/models/server.py +++ b/master/storage/models/server.py @@ -1,9 +1,8 @@ -from pydantic import BaseModel, Field # pylint: disable=no-name-in-module +from pydantic import BaseModel, ConfigDict, Field # pylint: disable=no-name-in-module class Server(BaseModel): - class Config: - str_strip_whitespace = True + model_config = ConfigDict(str_strip_whitespace=True) address: str = Field( description="Colon separated tuple of the server IP address and port, e.g.: :"