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.

Paramètres:
  • 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.

Type renvoyé:

Response

Renvoie:

(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.

Paramètres:
  • 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.

Type renvoyé:

Response

Renvoie:

(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.

Type renvoyé:

None

mount_adapter(adapter, prefix=None)[source]

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

Paramètres:
  • adapter (HTTPAdapter) – (HTTPAdapter) Un adaptateur.

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

Type renvoyé:

None

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

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

Paramètres:
  • 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.

Type renvoyé:

Response

Renvoie:

(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/checkouts/stable/src/iwls_api_request/handler/.cache/IWLS'), backend='sqlite', allowable_methods=('GET',), expire_after=600, timeout=5)[source]

Fonction permettant d’initialiser la cache.

Paramètres:
  • 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.

Type renvoyé:

CachedSession

Renvoie:

(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.

Paramètres:
  • 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é.

Type renvoyé:

HTTPAdapter

Renvoie:

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.

Paramètres:
  • session_type (SessionType) – (SessionType) Le type de session.

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

Type renvoyé:

Session | CachedSession

Renvoie:

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/checkouts/stable/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/checkouts/stable/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