iwls_api_request.handler package

Submodules

iwls_api_request.handler.http_query_handler module

class iwls_api_request.handler.http_query_handler.HTTPQueryHandler(session=None, **kwargs)[source]

Bases: ABC

abstractmethod query(url, params=None, response_type=ResponseType.JSON)[source]

Méthode permettant d’effectuer la requête http.

Parameters:
  • url (str) – (str) Une chaîne de caractères correspondant à l’adresse url.

  • params (Optional[dict]) – (dict) Un dictionnaire avec les paramètres de la requête.

  • response_type (ResponseType) – (ResponseType) Un objet ResponseType.

Return type:

Response

Returns:

(Response) La réponse de la requête http.

_session
class iwls_api_request.handler.http_query_handler.RateLimiterHandler(session_type=SessionType.REQUESTS, calls=100, period=1, cache_config=None, **kwargs)[source]

Bases: RequestsHandler

query(url, params=None, response_type=ResponseType.JSON)[source]

” Méthode permettant d’effectuer la requête http.

Parameters:
  • url (str) – (str) Une chaîne de caractères correspondant à l’adresse url.

  • params (Optional[dict]) – (dict) Un dictionnaire avec les paramètres de la requête.

  • response_type (ResponseType) – (ResponseType) Un objet ResponseType.

Return type:

Response

Returns:

(Response) La réponse de la requête http.

_cache_config
_calls
_period
_rate_limiter
_session
_session_type
class iwls_api_request.handler.http_query_handler.RequestsHandler(session=None, session_type=SessionType.REQUESTS, cache_config=None, **kwargs)[source]

Bases: HTTPQueryHandler

clear_cache()[source]

Méthode permettant de nettoyer la cache.

Return type:

None

mount_adapter(adapter, prefix=None)[source]

Méthode permettant de monter un adaptateur pour certains urls.

Parameters:
  • adapter (HTTPAdapter) – (HTTPAdapter) Un adaptateur.

  • prefix (Optional[list[str]]) – (List[str]) Une liste de préfixe de urls sur lesquels monter l’adaptateur.

Return type:

None

query(url, params=None, response_type=ResponseType.JSON)[source]

Méthode permettant d’effectuer la requête http.

Parameters:
  • url (str) – (str) Une chaîne de caractères correspondant à l’adresse url.

  • params (Optional[dict]) – (dict) Un dictionnaire avec les paramètres de la requête.

  • response_type (ResponseType) – (ResponseType) Un objet ResponseType.

Return type:

Response

Returns:

(Response) La réponse de la requête http.

_cache_config
_session
_session_type
iwls_api_request.handler.http_query_handler.get_cache_session(db=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/chs-csb-processing-en/checkouts/latest/src/iwls_api_request/handler/.cache/IWLS'), backend='sqlite', allowable_methods=('GET',), expire_after=600, timeout=5)[source]

Fonction permettant d’initialiser la cache.

Parameters:
  • db (Path) – (str) Le nom de la base de données.

  • backend (str) – (str) Le type de cache utilisé.

  • allowable_methods (tuple[str]) – (Tuple[str]) Les méthodes pouvant être utilisées pour la cache.

  • expire_after (int) – (int) La durée de vie des données dans la cache.

  • timeout (int) – (int) Le délai d’attente maximal pour les opérations de lecture et écriture sur la cache.

Return type:

CachedSession

Returns:

(requests_cache.CachedSession) Un objet requests_cache.CachedSession.

iwls_api_request.handler.http_query_handler.get_retry_adapter(status_code=None, max_retry=5, backoff_factor=2)[source]

Fonction permettant de retourner un adaptateur avec une stratégie de réessayage.

Parameters:
  • status_code (Optional[Collection[int]]) – (Collection[int]) Un liste contenant les codes http à réessayer.

  • max_retry (Optional[int]) – (int) Nombre d’essais lorsqu’un code de la liste p_status_code est retourné.py

  • backoff_factor (Optional[int]) – (int) Le facteur à appliqué.

Return type:

HTTPAdapter

Returns:

Un objet HTTPAdapter avec une stratégie de réessayage.

iwls_api_request.handler.http_query_handler.get_session(session_type, cache_config)[source]

Fonction permettant d’obtenir un objet session.

Parameters:
  • session_type (SessionType) – (SessionType) Le type de session.

  • cache_config (CachedSessionConfig) – (CachedSessionConfig) La configuration de la cache.

Return type:

Session | CachedSession

Returns:

requests.Session | CachedSession) Un objet Session ou CacheSession.

iwls_api_request.handler.models_handler module

class iwls_api_request.handler.models_handler.CachedSessionConfig(db=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/chs-csb-processing-en/checkouts/latest/src/iwls_api_request/handler/.cache/IWLS'), backend='sqlite', allowable_methods=('GET',), expire_after=600, timeout=5)[source]

Bases: object

allowable_methods: tuple[str] | None = ('GET',)
backend: str | None = 'sqlite'
db: Path | None = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/chs-csb-processing-en/checkouts/latest/src/iwls_api_request/handler/.cache/IWLS')
expire_after: int | None = 600
timeout: int | None = 5
class iwls_api_request.handler.models_handler.Rate(calls=100, period=1)[source]

Bases: object

calls: int = 100
period: int = 1
class iwls_api_request.handler.models_handler.Response(status_code=200, data=None, message=None, error=None)[source]

Bases: object

data: dict | list | str = None
error: str | list = None
property is_ok: bool
message: str = None
status_code: int = 200
class iwls_api_request.handler.models_handler.ResponseType(value)[source]

Bases: StrEnum

JSON: str = 'json'
TEXT: str = 'text'
class iwls_api_request.handler.models_handler.RetryAdapterConfig(max_retry=5, backoff_factor=2, status_code=(429, 500, 502, 503, 504))[source]

Bases: object

backoff_factor: int | None = 2
max_retry: int | None = 5
status_code: Collection[int] | None = (429, 500, 502, 503, 504)
class iwls_api_request.handler.models_handler.SessionType(value)[source]

Bases: StrEnum

CACHE: str = 'cache'
REQUESTS: str = 'requests'

iwls_api_request.handler.rate_limiter module

class iwls_api_request.handler.rate_limiter.RateLimiter(max_calls, period=1.0, callback=None)[source]

Bases: object

Provides rate limiting for an operation with a configurable number of requests for a time period.

_init_async_lock()[source]
property _timespan

Module contents