Spaces:
Running
Running
import subprocess | |
import logging | |
from fastapi import FastAPI, Request, HTTPException | |
from fastapi.responses import HTMLResponse | |
app = FastAPI() | |
subprocess.Popen(["python3", "TimeStampBuddy/cron_processor.py"]) | |
def welcome(): | |
return """ | |
<div> | |
<h1>Hello!</h1> | |
<p>This service powers the <a href="https://x.com/TimeStampBuddy" target="_blank" rel="noopener noreferrer">@TimeStampBuddy</a>'s activity on Twitter.</p> | |
<p>For more details, visit | |
<a href="https://github.com/Mihaiii/TimeStampBuddy" target="_blank" rel="noopener noreferrer">GitHub Repository</a>. | |
</p> | |
</div> | |
""" | |
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)) |