feat(shcedule): add channels list

This commit is contained in:
2024-08-15 00:53:57 +03:00
parent 05161749e8
commit 320fbbcaa5
5 changed files with 103 additions and 10 deletions

View File

@@ -32,12 +32,35 @@ def mount(app: FastAPI):
},
)
@app.get("/schedule/tag/{tag}", response_class=HTMLResponse)
async def get_schedule_tag(request: Request, tag: str, live: bool = False):
tag_value = TagUtil.parse_tag(tag)
schedule_api: ScheduleApi = request.app.state.schedule_api
channels = await schedule_api.get_channels()
responses = [
await schedule_api.get_channel_schedule(channel, tag_value.date)
for channel in channels
]
return templates.TemplateResponse(
request=request,
name="schedule.html",
context={
"version": __version__,
"tag_util": TagUtil,
"datetime": datetime,
"channels": channels,
"response": responses[0],
"responses": responses,
"live": live,
},
)
@app.get("/schedule/{channel}", response_class=RedirectResponse)
async def get_schedule_default(channel: str):
async def get_channel_default(channel: str):
return RedirectResponse(f"{channel}/tag/today")
@app.get("/schedule/{channel}/tag/{tag}", response_class=HTMLResponse)
async def get_schedule_tag(request: Request, channel: str, tag: str):
async def get_channel_tag(request: Request, channel: str, tag: str):
tag_value = TagUtil.parse_tag(tag)
schedule_api: ScheduleApi = request.app.state.schedule_api
if tag_value.type == TagType.DAY:
@@ -46,7 +69,7 @@ def mount(app: FastAPI):
raise ValueError(tag)
return templates.TemplateResponse(
request=request,
name="schedule.html",
name="channel.html",
context={
"version": __version__,
"tag_util": TagUtil,