1
0
Fork 0
mirror of https://github.com/Findus23/PaperLibrary-cli.git synced 2024-09-20 17:03:46 +02:00
PaperLibrary-cli/paperlibrary/api/api.py
2020-10-19 17:43:08 +02:00

26 lines
807 B
Python

from typing import List
from requests import Session
from paperlibrary.api.models import Author, PDF, Keyword
class PaperLibraryAPI:
def __init__(self, baseURL: str, auth_token: str):
self.baseURL = baseURL
self.auth_token = auth_token
self.s = Session()
self.s.headers.update({"Authorization": "Token " + auth_token})
def fetch_authors(self) -> List[Author]:
r = self.s.get(self.baseURL + "authors/")
return Author.schema().loads(r.text, many=True)
def fetch_keywords(self) -> List[Author]:
r = self.s.get(self.baseURL + "keywords/")
return Keyword.schema().loads(r.text, many=True)
def fetch_pdfs(self) -> List[PDF]:
r = self.s.get(self.baseURL + "pdfs/")
return PDF.schema().loads(r.text, many=True)