Source code for utils.conscribo.api

import requests

from utils.conscribo.objects import Request, Result


[docs]class ConscriboApi: def __init__(self, account, username, password): self._session = requests.session() self._endpoint = f"https://secure.conscribo.nl" f"/{account}/request.json" self._headers = {"X-Conscribo-API-Version": "0.20161212"} self.authenticate(username, password)
[docs] def single_request(self, command, **params): response = self._session.post( self._endpoint, Request.single(command, **params).json(), headers=self._headers, ) response.raise_for_status() result = Result.single(response.json()) return result
[docs] def multi_request(self, commands): if len(commands) == 1: return [self.single_request(commands[0])] response = self._session.post( self._endpoint, Request.multi(commands).json(), headers=self._headers ) response.raise_for_status() return Result.multi(response.json())
[docs] def authenticate(self, username, password): result = self.single_request( command="authenticateWithUserAndPass", userName=username, passPhrase=password, ) self._headers.update( {"X-Conscribo-SessionId": result.data.get("sessionId", None)} )