diff --git a/server/__init__.py b/server/__init__.py index 963b770..f23aebf 100644 --- a/server/__init__.py +++ b/server/__init__.py @@ -32,9 +32,10 @@ error_template = jinja_env.from_string(error_template_raw_rendered) logging.basicConfig(handlers=[InterceptHandler()], level=0, force=True) url_correlation: ContextVar[Optional[str]] = ContextVar("url_correlation", default="UNKNOWN_URL") -home_page_process: ContextVar[Optional[list]] = ContextVar("home_page_process", default=[]) transponder_code_correlation: ContextVar[Optional[str]] = ContextVar("transponder_code_correlation", default="unknown transponder location... Beep!") +home_page_process = {} + ban_db = pickledb.load('ban_post_list.db', True) START_TIME = dt.datetime.now().strftime("%H-%M-%S") diff --git a/server/handlers/post.py b/server/handlers/post.py index d0cad05..21cd6ea 100644 --- a/server/handlers/post.py +++ b/server/handlers/post.py @@ -5,7 +5,7 @@ from html5lib.html5parser import parse from html5lib import serialize from loguru import logger -from server import base_template, config, url_correlation, redis_storage, postleter_template, home_page_process +from server import base_template, config, url_correlation, redis_storage, postleter_template, home_page_process, transponder_code_correlation from server.utils.error import generate_error from server.utils.logger_trace import trace from server.utils.notify import send_message @@ -19,22 +19,22 @@ from medium_parser.utils import is_valid_medium_post_id_hexadecimal @trace @aio_redis_cache(10 * 60) -async def render_postleter(limit: int = 60, as_html: bool = False): +async def render_postleter(limit: int = 30, as_html: bool = False): random_post_id_list = [i[0] for i in medium_cache.random(limit)] - home_page_process.set(random_post_id_list) + home_page_process[transponder_code_correlation.get()] = random_post_id_list - outlenget_posts_list = [] + outlet_posts_list = [] for post_id in random_post_id_list: try: post = MediumParser(post_id, timeout=config.TIMEOUT, host_address=config.HOST_ADDRESS, auth_cookies=config.MEDIUM_AUTH_COOKIES) await post.query() post_metadata = await post.generate_metadata(as_dict=True) - outlenget_posts_list.append(post_metadata) + outlet_posts_list.append(post_metadata) except Exception as ex: logger.error(f"Couldn't render post_id for postleter: {post_id}, ex: {ex}") # await send_message(f"Couldn't render post_id for postleter: {post_id}, ex: {ex}") - postleter_template_rendered = await postleter_template.render_async(post_list=outlenget_posts_list) + postleter_template_rendered = await postleter_template.render_async(post_list=outlet_posts_list) if as_html: return postleter_template_rendered return HTMLResponse(postleter_template_rendered) diff --git a/server/middlewares/logger.py b/server/middlewares/logger.py index 3c922cd..a647b00 100644 --- a/server/middlewares/logger.py +++ b/server/middlewares/logger.py @@ -64,7 +64,7 @@ class LoggerMiddleware(BaseHTTPMiddleware): except Exception as ex: exception_class = type(ex) logger.exception(ex) - await send_message(f"Error while processing url: {url_correlation.get()}, transponder_code: {transponder_code_correlation.get()}, error: {ex}. exception: {exception_class.__name__}. {home_page_process.get()}") + await send_message(f"Error while processing url: {url_correlation.get()}, transponder_code: {transponder_code_correlation.get()}, error: {ex}. exception: {exception_class.__name__}. {home_page_process.get(transponder_code_correlation.get(), '')}") response = await generate_error() logger.trace(response.__dict__)