mirror of
https://github.com/Findus23/PaperLibrary-cli.git
synced 2024-09-20 17:03:46 +02:00
23 lines
643 B
Python
23 lines
643 B
Python
|
from typing import List
|
||
|
|
||
|
from requests import Session
|
||
|
|
||
|
from paperlibrary.api.models import Author, PDF
|
||
|
|
||
|
|
||
|
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_pdfs(self) -> List[PDF]:
|
||
|
r = self.s.get(self.baseURL + "pdfs/")
|
||
|
return PDF.schema().loads(r.text, many=True)
|