migrate obsoleted function parse_obj_as
to TypeAdapter().validate_python()
.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from abc import ABC
|
||||
|
||||
import requests
|
||||
from pydantic import parse_obj_as
|
||||
from pydantic import TypeAdapter
|
||||
from requests import Response
|
||||
|
||||
from mdrsclient.connection import MDRSConnection
|
||||
@@ -24,7 +24,7 @@ class BaseApi(ABC):
|
||||
if response.status_code >= 300:
|
||||
if response.status_code < 400 or response.status_code >= 500:
|
||||
raise UnexpectedException(f"Unexpected status code returned: {response.status_code}.")
|
||||
errors = parse_obj_as(DRFStandardizedErrors, response.json())
|
||||
errors = TypeAdapter(DRFStandardizedErrors).validate_python(response.json())
|
||||
if response.status_code == requests.codes.bad_request:
|
||||
raise BadRequestException(errors.errors[0].detail)
|
||||
elif response.status_code == requests.codes.unauthorized:
|
||||
|
@@ -1,6 +1,6 @@
|
||||
from typing import Final
|
||||
|
||||
from pydantic import parse_obj_as
|
||||
from pydantic import TypeAdapter
|
||||
from pydantic.dataclasses import dataclass
|
||||
|
||||
from mdrsclient.api.base import BaseApi
|
||||
@@ -23,7 +23,7 @@ class FileApi(BaseApi):
|
||||
token_check(self.connection)
|
||||
response = self.connection.get(url)
|
||||
self._raise_response_error(response)
|
||||
return parse_obj_as(File, response.json())
|
||||
return TypeAdapter(File).validate_python(response.json())
|
||||
|
||||
def create(self, folder_id: str, path: str) -> str:
|
||||
# print(self.__class__.__name__ + "::" + sys._getframe().f_code.co_name)
|
||||
@@ -34,7 +34,7 @@ class FileApi(BaseApi):
|
||||
with open(path, mode="rb") as fp:
|
||||
response = self.connection.post(url, data=data, files={"file": fp})
|
||||
self._raise_response_error(response)
|
||||
ret = parse_obj_as(FileCreateResponse, response.json())
|
||||
ret = TypeAdapter(FileCreateResponse).validate_python(response.json())
|
||||
except OSError:
|
||||
raise UnexpectedException(f"Could not open `{path}` file.")
|
||||
return ret.id
|
||||
|
@@ -1,7 +1,7 @@
|
||||
from typing import Final
|
||||
|
||||
import requests
|
||||
from pydantic import parse_obj_as
|
||||
from pydantic import TypeAdapter
|
||||
from pydantic.dataclasses import dataclass
|
||||
|
||||
from mdrsclient.api.base import BaseApi
|
||||
@@ -27,7 +27,7 @@ class FolderApi(BaseApi):
|
||||
self._raise_response_error(response)
|
||||
ret: list[FolderSimple] = []
|
||||
for data in response.json():
|
||||
ret.append(parse_obj_as(FolderSimple, data))
|
||||
ret.append(TypeAdapter(FolderSimple).validate_python(data))
|
||||
return ret
|
||||
|
||||
def retrieve(self, id: str) -> Folder:
|
||||
@@ -36,7 +36,7 @@ class FolderApi(BaseApi):
|
||||
token_check(self.connection)
|
||||
response = self.connection.get(url)
|
||||
self._raise_response_error(response)
|
||||
ret = parse_obj_as(Folder, response.json())
|
||||
ret = TypeAdapter(Folder).validate_python(response.json())
|
||||
return ret
|
||||
|
||||
def create(self, name: str, parent_id: str) -> str:
|
||||
@@ -46,7 +46,7 @@ class FolderApi(BaseApi):
|
||||
token_check(self.connection)
|
||||
response = self.connection.post(url, data=data)
|
||||
self._raise_response_error(response)
|
||||
ret = parse_obj_as(FolderCreateResponse, response.json())
|
||||
ret = TypeAdapter(FolderCreateResponse).validate_python(response.json())
|
||||
return ret.id
|
||||
|
||||
def update(self, folder: FolderSimple) -> bool:
|
||||
|
@@ -1,6 +1,6 @@
|
||||
from typing import Final
|
||||
|
||||
from pydantic import parse_obj_as
|
||||
from pydantic import TypeAdapter
|
||||
|
||||
from mdrsclient.api.base import BaseApi
|
||||
from mdrsclient.api.utils import token_check
|
||||
@@ -18,6 +18,6 @@ class LaboratoryApi(BaseApi):
|
||||
self._raise_response_error(response)
|
||||
ret = Laboratories()
|
||||
for data in response.json():
|
||||
ret.append(parse_obj_as(Laboratory, data))
|
||||
ret.append(TypeAdapter(Laboratory).validate_python(data))
|
||||
ret.sort()
|
||||
return ret
|
||||
|
@@ -1,7 +1,7 @@
|
||||
from typing import Final
|
||||
|
||||
import requests
|
||||
from pydantic import parse_obj_as
|
||||
from pydantic import TypeAdapter
|
||||
from pydantic.dataclasses import dataclass
|
||||
|
||||
from mdrsclient.api.base import BaseApi
|
||||
@@ -27,7 +27,7 @@ class UserApi(BaseApi):
|
||||
if response.status_code == requests.codes.unauthorized:
|
||||
raise UnauthorizedException("Invalid username or password.")
|
||||
self._raise_response_error(response)
|
||||
obj = parse_obj_as(UserAuthResponse, response.json())
|
||||
obj = TypeAdapter(UserAuthResponse).validate_python(response.json())
|
||||
token = Token(access=obj.access, refresh=obj.refresh)
|
||||
laboratory_ids = [obj.lab_id] if obj.lab_id is not None else []
|
||||
is_reviewer = obj.is_reviewer if obj.is_reviewer is not None else False
|
||||
@@ -42,5 +42,5 @@ class UserApi(BaseApi):
|
||||
if response.status_code == requests.codes.unauthorized:
|
||||
raise UnauthorizedException("Token is invalid or expired.")
|
||||
self._raise_response_error(response)
|
||||
token = parse_obj_as(Token, response.json())
|
||||
token = TypeAdapter(Token).validate_python(response.json())
|
||||
return token
|
||||
|
Reference in New Issue
Block a user