blob: 7262e63c2a816a3d006e4fbb9e48fcaa8c832eb3 (
plain) (
tree)
|
|
import os
from dotenv import load_dotenv
from pituophis import Item, serve
from pyfiglet import Figlet
import news
import sports
import weather
load_dotenv()
figlet = Figlet(font="big")
def handle(request):
if request.path == "" or request.path == "/":
menu = []
with open("static/ascii/cat.txt", "r") as f:
menu += [Item(text=i) for i in f.readlines()]
menu.append(Item(itype="1", text="......NEWS", path="/news", host=os.getenv("HOSTNAME")))
menu.append(
Item(itype="7", text="......WEATHER (type in city name)", path="/weather", host=os.getenv("HOSTNAME")))
menu.append(Item(itype="1", text="......SPORTS", path="/sports", host=os.getenv("HOSTNAME")))
return menu
elif request.path.startswith("/newstxt"):
return news.get_newstxt(request.path.split("?article=")[1])
elif request.path.startswith("/weathertxt"):
return weather.get_weather(request.path)
elif request.path == "/news" or request.path == "/weather" or request.path == "/sports":
menu = []
text = figlet.renderText(request.path[1:]).split("\n")
menu += [Item(text=i) for i in text]
match request.path:
case "/news":
menu.append(Item(text="=== Provided by The Guardian ==="))
menu += news.get_news()
case "/weather":
menu += weather.get_cities(request.query)
case "/sports":
menu += [
menu.append(Item(itype="0", text="FORMULA 1", path="/sports/f1", host=os.getenv("HOSTNAME")))
]
return menu
elif request.path.startswith("/sports/"):
match request.path:
case "/sports/f1":
return sports.get_f1()
else:
return [Item(itype="3", text="Page not found")]
serve(port=70, handler=handle, pub_dir="personal")
|