From f16e0d85a2fa8eb2c7f9af821bc08efe0d9770fe Mon Sep 17 00:00:00 2001 From: Alexis Date: Sat, 28 Sep 2024 11:13:37 +0200 Subject: [PATCH 1/4] feat(docstring): Add docstring usage --- blagues_api/main.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/blagues_api/main.py b/blagues_api/main.py index db83228..e584513 100644 --- a/blagues_api/main.py +++ b/blagues_api/main.py @@ -35,6 +35,7 @@ def __init__(self, token: str): self.headers = {"Authorization": f"Bearer {self.token}"} async def _get(self, url: str, params: dict = None) -> dict: + """Make a GET request to the API.""" async with aiohttp.ClientSession(raise_for_status=True) as session: async with session.get( self.base_url + url, headers=self.headers, params=params @@ -42,6 +43,9 @@ async def _get(self, url: str, params: dict = None) -> dict: return await resp.json() async def random(self, *, disallow: List[str] = None) -> Blague: + """Get a random joke. + Usage: random(disallow=['dev', 'dark',...]) + """ endpoint = "/random" params = {"disallow": disallow} if disallow else {} data = await self._get(endpoint, params) @@ -49,18 +53,25 @@ async def random(self, *, disallow: List[str] = None) -> Blague: return Blague.model_validate(data) async def random_categorized(self, category: str) -> Blague: + """Get a random joke from a specific category. + Usage: random_categorized(category=BlagueType.DEV) + """ endpoint = f"/type/{category}/random" data = await self._get(endpoint) return Blague.model_validate(data) async def from_id(self, id: int) -> Blague: + """Get a joke from its ID. + Usage: from_id(1) + """ endpoint = f"/id/{id}" data = await self._get(endpoint) return Blague.model_validate(data) async def count(self) -> CountJoke: + """Get the number of jokes available.""" endpoint = "/count" data = await self._get(endpoint) From e8dd1f2338c04785e7af3e6699297d046baef423 Mon Sep 17 00:00:00 2001 From: Alexis Date: Sat, 28 Sep 2024 11:13:57 +0200 Subject: [PATCH 2/4] fix(env): Code to use `load_dotenv()` instead of `dotenv_values()` for loading environment variables --- tests/test_blagues_api.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_blagues_api.py b/tests/test_blagues_api.py index 4f35915..0579b50 100644 --- a/tests/test_blagues_api.py +++ b/tests/test_blagues_api.py @@ -1,16 +1,16 @@ import pytest -from dotenv import dotenv_values +from dotenv import load_dotenv +import os from blagues_api import Blague, BlaguesAPI, BlagueType, CountJoke pytestmark = pytest.mark.asyncio +load_dotenv() @pytest.fixture def token(): - env = dotenv_values(".env") - return env["TOKEN"] - + return os.getenv("TOKEN") @pytest.fixture def client(token): From f7a0c5f5c6189f2afd6699303f32038f67845ff0 Mon Sep 17 00:00:00 2001 From: Alexis Date: Sat, 28 Sep 2024 11:16:10 +0200 Subject: [PATCH 3/4] fix(lint): docstring quote --- blagues_api/main.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/blagues_api/main.py b/blagues_api/main.py index e584513..47addeb 100644 --- a/blagues_api/main.py +++ b/blagues_api/main.py @@ -43,7 +43,8 @@ async def _get(self, url: str, params: dict = None) -> dict: return await resp.json() async def random(self, *, disallow: List[str] = None) -> Blague: - """Get a random joke. + """ + Get a random joke. Usage: random(disallow=['dev', 'dark',...]) """ endpoint = "/random" @@ -53,7 +54,8 @@ async def random(self, *, disallow: List[str] = None) -> Blague: return Blague.model_validate(data) async def random_categorized(self, category: str) -> Blague: - """Get a random joke from a specific category. + """ + Get a random joke from a specific category. Usage: random_categorized(category=BlagueType.DEV) """ endpoint = f"/type/{category}/random" @@ -62,7 +64,8 @@ async def random_categorized(self, category: str) -> Blague: return Blague.model_validate(data) async def from_id(self, id: int) -> Blague: - """Get a joke from its ID. + """ + Get a joke from its ID. Usage: from_id(1) """ endpoint = f"/id/{id}" From 54f261a29d5ece9cc5b2087414a57369e87a76a5 Mon Sep 17 00:00:00 2001 From: Alexis Date: Sat, 28 Sep 2024 11:21:34 +0200 Subject: [PATCH 4/4] fix(lint): Add blank lines --- tests/test_blagues_api.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_blagues_api.py b/tests/test_blagues_api.py index 0579b50..e0b2b4a 100644 --- a/tests/test_blagues_api.py +++ b/tests/test_blagues_api.py @@ -8,10 +8,12 @@ load_dotenv() + @pytest.fixture def token(): return os.getenv("TOKEN") + @pytest.fixture def client(token): return BlaguesAPI(token)