TimeStampBuddy / app.py
Mihaiii's picture
Update app.py
c3e1f5a verified
raw
history blame
1.46 kB
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 """
<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>
"""
@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))