import subprocess import logging from fastapi import FastAPI, Request, HTTPException from fastapi.responses import HTMLResponse app = FastAPI() subprocess.Popen(["python3", "TimeStampBuddy/cron_processor.py"]) @app.get("/", response_class=HTMLResponse) def welcome(): return """

Hello!

This service powers the @TimeStampBuddy's activity on Twitter.

For more details, visit GitHub Repository.

""" @app.post("/set_log_level") async def set_log_level(request: Request): try: body = await request.json() level = body.get("level", "").upper() if level in ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL']: logger = logging.getLogger() logger.setLevel(level) for logger_name in logging.root.manager.loggerDict: logging.getLogger(logger_name).setLevel(level) for handler in logger.handlers: handler.setLevel(level) return {"message": f"Log level changed to {level}"} raise HTTPException(status_code=400, detail="Invalid log level") except Exception as e: raise HTTPException(status_code=500, detail=str(e))