Skip to content
Permalink
master
Go to file
Latest commit b4f8621 on Jun 9, 2019 History
1 contributor
34 lines (30 sloc) 1.25 KB
import requests
from .models import Board
class WekanApi:
def api_call(self, url, data=None, authed=True):
if data is None:
api_response = self.session.get(
"{}{}".format(self.api_url, url),
headers={"Authorization": "Bearer {}".format(self.token)},
proxies=self.proxies
)
else:
api_response = self.session.post(
"{}{}".format(self.api_url, url),
data=data,
headers={"Authorization": "Bearer {}".format(self.token)} if authed else {},
proxies=self.proxies
)
return api_response.json()
def __init__(self, api_url, credentials, proxies=None):
if proxies is None:
proxies = {}
self.session = requests.Session()
self.proxies = proxies
self.api_url = api_url
api_login = self.api_call("/users/login", data=credentials, authed=False)
self.token = api_login["token"]
self.user_id = api_login["id"]
def get_user_boards(self, filter=''):
boards_data = self.api_call("/api/users/{}/boards".format(self.user_id))
return [Board(self, board_data) for board_data in boards_data if filter in board_data["title"]]