From 011b4e2e312293563b0161008fcbc3e7b6ef69f8 Mon Sep 17 00:00:00 2001 From: Evgeniy Alekseev Date: Tue, 22 Nov 2022 17:23:25 +0200 Subject: [PATCH] change logging module imports --- src/ahriman/core/util.py | 7 ++++--- src/ahriman/web/middlewares/exception_handler.py | 7 ++++--- src/ahriman/web/views/user/logout.py | 6 +++++- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/ahriman/core/util.py b/src/ahriman/core/util.py index 7aa064cc..5315bbc4 100644 --- a/src/ahriman/core/util.py +++ b/src/ahriman/core/util.py @@ -19,13 +19,13 @@ # import datetime import io +import logging import os import re import requests import subprocess from enum import Enum -from logging import Logger from pathlib import Path from typing import Any, Dict, Generator, IO, Iterable, List, Optional, Type, Union @@ -38,7 +38,8 @@ __all__ = ["check_output", "check_user", "exception_response_text", "filter_json def check_output(*args: str, exception: Optional[Exception] = None, cwd: Optional[Path] = None, - input_data: Optional[str] = None, logger: Optional[Logger] = None, user: Optional[int] = None) -> str: + input_data: Optional[str] = None, logger: Optional[logging.Logger] = None, + user: Optional[int] = None) -> str: """ subprocess wrapper @@ -48,7 +49,7 @@ def check_output(*args: str, exception: Optional[Exception] = None, cwd: Optiona exception (Default value = None) cwd(Optional[Path], optional): current working directory (Default value = None) input_data(Optional[str], optional): data which will be written to command stdin (Default value = None) - logger(Optional[Logger], optional): logger to log command result if required (Default value = None) + logger(Optional[logging.Logger], optional): logger to log command result if required (Default value = None) user(Optional[int], optional): run process as specified user (Default value = None) Returns: diff --git a/src/ahriman/web/middlewares/exception_handler.py b/src/ahriman/web/middlewares/exception_handler.py index fb71e0e0..fbd4065c 100644 --- a/src/ahriman/web/middlewares/exception_handler.py +++ b/src/ahriman/web/middlewares/exception_handler.py @@ -17,10 +17,11 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . # +import logging + from aiohttp.web import middleware, Request from aiohttp.web_exceptions import HTTPClientError, HTTPException, HTTPServerError from aiohttp.web_response import json_response, StreamResponse -from logging import Logger from ahriman.web.middlewares import HandlerType, MiddlewareType @@ -28,12 +29,12 @@ from ahriman.web.middlewares import HandlerType, MiddlewareType __all__ = ["exception_handler"] -def exception_handler(logger: Logger) -> MiddlewareType: +def exception_handler(logger: logging.Logger) -> MiddlewareType: """ exception handler middleware. Just log any exception (except for client ones) Args: - logger(Logger): class logger + logger(logging.Logger): class logger Returns: MiddlewareType: built middleware diff --git a/src/ahriman/web/views/user/logout.py b/src/ahriman/web/views/user/logout.py index 825eeef3..471ac732 100644 --- a/src/ahriman/web/views/user/logout.py +++ b/src/ahriman/web/views/user/logout.py @@ -18,6 +18,7 @@ # along with this program. If not, see . # from aiohttp.web import HTTPFound +from aiohttp.web_exceptions import HTTPUnauthorized from ahriman.core.auth.helpers import check_authorized, forget from ahriman.models.user_access import UserAccess @@ -41,7 +42,10 @@ class LogoutView(BaseView): Raises: HTTPFound: on success response """ - await check_authorized(self.request) + try: + await check_authorized(self.request) + except HTTPUnauthorized: + raise HTTPUnauthorized(reason="I'm a teapot") await forget(self.request, HTTPFound("/")) raise HTTPFound("/")