use concurrent for the multiple file uploads instead of multiprocess.

This commit is contained in:
2023-05-09 13:08:50 +09:00
parent 6e065e7e25
commit c724af538b
11 changed files with 122 additions and 129 deletions

View File

@ -4,6 +4,7 @@ import requests
from pydantic import parse_obj_as
from requests import Response
from mdrsclient.connection import MDRSConnection
from mdrsclient.exceptions import (
BadRequestException,
ForbiddenException,
@ -11,27 +12,28 @@ from mdrsclient.exceptions import (
UnexpectedException,
)
from mdrsclient.models import DRFStandardizedErrors
from mdrsclient.session import MDRSSession
class BaseApi(ABC):
def __init__(self, session: MDRSSession) -> None:
self.session = session
connection: MDRSConnection
def __init__(self, connection: MDRSConnection) -> None:
self.connection = connection
def _get(self, url, *args, **kwargs) -> Response:
return self.session.get(self.__build_url(url), *args, **kwargs)
return self.connection.session.get(self.__build_url(url), *args, **kwargs)
def _post(self, url, *args, **kwargs) -> Response:
return self.session.post(self.__build_url(url), *args, **kwargs)
return self.connection.session.post(self.__build_url(url), *args, **kwargs)
def _put(self, url, *args, **kwargs) -> Response:
return self.session.put(self.__build_url(url), *args, **kwargs)
return self.connection.session.put(self.__build_url(url), *args, **kwargs)
def _delete(self, url, *args, **kwargs) -> Response:
return self.session.delete(self.__build_url(url), *args, **kwargs)
return self.connection.session.delete(self.__build_url(url), *args, **kwargs)
def _patch(self, url, *args, **kwargs) -> Response:
return self.session.patch(self.__build_url(url), *args, **kwargs)
return self.connection.session.patch(self.__build_url(url), *args, **kwargs)
def _raise_response_error(self, response: Response) -> None:
if response.status_code >= 300:
@ -48,4 +50,4 @@ class BaseApi(ABC):
raise UnexpectedException(errors.errors[0].detail)
def __build_url(self, *args: tuple) -> str:
return self.session.build_url(*args)
return self.connection.build_url(*args)