1
0
mirror of https://gitlab.com/2-chainz/2chainz.git synced 2025-06-16 01:46:39 +00:00
2chainz/src/two_chainz/__init__.py

42 lines
941 B
Python

import time
from datetime import datetime
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
import tomllib
from pathlib import Path
import random
app = FastAPI()
start_time = time.time()
def read_data() -> dict[str, str]:
raw_data = tomllib.loads(Path("data.toml").read_text())
raw_data['aliases'] = [alias['name'] for alias in raw_data['aliases'] for _ in range(alias['weight'])]
return raw_data
data = read_data()
@app.get("/api/")
async def ping():
return {
"status": "ok",
"timestamp": datetime.now().isoformat(),
"uptime_seconds": round(time.time() - start_time, 2),
}
@app.get("/api/quote")
async def quote():
return {"quote": random.choice(data['quotes'])}
@app.get("/api/alias")
async def alias():
return {"alias": random.choice(data['aliases'])}
# Mount static files
app.mount("/", StaticFiles(directory="website", html=True), name="static")