diff --git a/api/.flake8 b/api/.flake8 new file mode 100644 index 0000000..e4e4892 --- /dev/null +++ b/api/.flake8 @@ -0,0 +1,4 @@ +[flake8] +max-line-length = 80 +select = C,E,F,W,B,B950 +extend-ignore = E203, E501 diff --git a/api/advent22_api/dav_common.py b/api/advent22_api/dav_common.py index 30714e5..7903fe5 100644 --- a/api/advent22_api/dav_common.py +++ b/api/advent22_api/dav_common.py @@ -6,22 +6,20 @@ from webdav3.client import Client as WebDAVclient from .settings import SETTINGS -_WEBDAV_CLIENT = WebDAVclient({ - "webdav_hostname": SETTINGS.webdav.url, - "webdav_login": SETTINGS.webdav.username, - "webdav_password": SETTINGS.webdav.password, - "disable_check": SETTINGS.webdav.disable_check, -}) +_WEBDAV_CLIENT = WebDAVclient( + { + "webdav_hostname": SETTINGS.webdav.url, + "webdav_login": SETTINGS.webdav.username, + "webdav_password": SETTINGS.webdav.password, + "disable_check": SETTINGS.webdav.disable_check, + } +) @AsyncTTL(time_to_live=SETTINGS.cache_ttl) async def dav_list_files(regex: re.Pattern, directory: str = "") -> list[str]: ls = _WEBDAV_CLIENT.list(directory) - return [ - f"{directory}/{path}" - for path in ls - if regex.search(path) - ] + return [f"{directory}/{path}" for path in ls if regex.search(path)] @AsyncTTL(time_to_live=SETTINGS.cache_ttl) diff --git a/api/advent22_api/routers/_image.py b/api/advent22_api/routers/_image.py index f238321..94783c3 100644 --- a/api/advent22_api/routers/_image.py +++ b/api/advent22_api/routers/_image.py @@ -25,12 +25,14 @@ class AdventImage: square = min(width, height) # Bild zuschneiden und skalieren - img = img.crop(box=( - int((width - square)/2), - int((height - square)/2), - int((width + square)/2), - int((height + square)/2), - )) + img = img.crop( + box=( + int((width - square) / 2), + int((height - square) / 2), + int((width + square) / 2), + int((height + square) / 2), + ) + ) img = img.resize( size=(500, 500), @@ -80,7 +82,7 @@ class AdventImage: """ pixel_data = self.img.crop(box).getdata() - mean_color: np.ndarray = np.mean(pixel_data, axis=0) + mean_color: np.ndarray = np.mean(a=pixel_data, axis=0) return tuple(mean_color.astype(int).tolist()) @@ -99,11 +101,7 @@ class AdventImage: # betroffenen Bildbereich bestimmen text_box = await self.get_text_box( - xy=xy, - text=text, - font=font, - anchor=anchor, - **text_kwargs + xy=xy, text=text, font=font, anchor=anchor, **text_kwargs ) if text_box is not None: @@ -132,5 +130,5 @@ class AdventImage: font=font, fill=text_color, anchor=anchor, - **text_kwargs + **text_kwargs, ) diff --git a/api/advent22_api/routers/_misc.py b/api/advent22_api/routers/_misc.py index 8437969..97f6484 100644 --- a/api/advent22_api/routers/_misc.py +++ b/api/advent22_api/routers/_misc.py @@ -36,6 +36,7 @@ async def shuffle(seq: Sequence, rnd: random.Random | None = None) -> list: # Elemente mischen return rnd.sample(seq, len(seq)) + ######### # IMAGE # ######### diff --git a/api/advent22_api/routers/abspacken.py b/api/advent22_api/routers/abspacken.py index acb9fb4..84fbbdf 100644 --- a/api/advent22_api/routers/abspacken.py +++ b/api/advent22_api/routers/abspacken.py @@ -22,8 +22,10 @@ async def uwe( ) -> str: kurix = await get_kurix(kgs) - return f"UWE hat bei {firma} einen beachtlichen Haufen von " \ + return ( + f"UWE hat bei {firma} einen beachtlichen Haufen von " f"{kgs} Kg ({kurix:.3f} Kurix) auf den Läufer geschissen." + ) @router.get("/torsten/{ding}") @@ -41,8 +43,8 @@ async def torsten(ding: str) -> str: status.HTTP_418_IM_A_TEAPOT: { "description": "Commit Sudoku", "content": None, - } - } + }, + }, ) async def kys() -> None: """ diff --git a/api/advent22_api/routers/user.py b/api/advent22_api/routers/user.py index 0e4a466..d9f412a 100644 --- a/api/advent22_api/routers/user.py +++ b/api/advent22_api/routers/user.py @@ -13,9 +13,7 @@ async def user_is_admin( credentials: HTTPBasicCredentials = Depends(security), config: Config = Depends(get_config), ) -> bool: - username_correct = secrets.compare_digest( - credentials.username, config.admin.name - ) + username_correct = secrets.compare_digest(credentials.username, config.admin.name) password_correct = secrets.compare_digest( credentials.password, config.admin.password