import re import requests from typing import Any from config import app def humanize_tags_from_json(value: str, default: str) -> str: if value != "": output = str() tags = value.split() for t in tags: output += f"{re.sub('_\\(.*', '', t)}, " output = output[:-2] return output return default def format_rating(value: str) -> str | None: match value: case "g": # Negative Squared Latin Capital Letter G return "🅶" case "s": # Negative Squared Latin Capital Letter S return "🆂" case "q": # Negative Squared Latin Capital Letter Q return "🆀" case "e": # Negative Squared Latin Capital Letter E return "🅴" def format_status(data) -> str: is_active = True is_pending = data['is_pending'] is_flagged = data['is_flagged'] is_deleted = data['is_deleted'] is_banned = data['is_banned'] if is_pending | is_flagged | is_deleted: is_active = False status = [] if is_active: status.append("Active") if is_pending: status.append("Pending") if is_flagged: status.append("Flagged") if is_banned: status.append("Banned") return " ".join(status) def get_json(pathname: str) -> Any | None: r = requests.get(f"http://{app.host}/{pathname}.json") if r.status_code != 200: return None return r.json()