diff --git a/app/main.py b/app/main.py index 4ade2ab..e1b5cae 100644 --- a/app/main.py +++ b/app/main.py @@ -55,50 +55,56 @@ async def root(request: Request) -> HTMLResponse: @app.get("/vote") -async def vote(request: Request, session_id: str, db: Session = Depends(get_db)) -> HTMLResponse: +async def vote(request: Request, session_id: str, unordered: bool = False, db: Session = Depends(get_db)) -> HTMLResponse: veto_mode = get_setting(db, "veto_mode") songs = [Song(**s.__dict__, vote=v, vote_comment=c) for s, v, c in get_songs_and_vote_for_session(db, session_id)] - songs_by_category = {} - all_categories = set() + if unordered: + songs_by_category = {"Alle Lieder" : songs} + all_categories = {"Alle Lieder"} + for song in songs: + all_categories.update(song.categories.keys()) + else: + songs_by_category = {} + all_categories = set() - wildcard_songs = [] - current_songs = [] - other_songs = [] + wildcard_songs = [] + current_songs = [] + other_songs = [] - for song in songs: - if (not song.singable) and (not veto_mode): - continue + for song in songs: + if (not song.singable) and (not veto_mode): + continue - if song.is_current: - current_songs.append(song) - continue + if song.is_current: + current_songs.append(song) + continue - if not song.is_aca: - wildcard_songs.append(song) - continue + if not song.is_aca: + wildcard_songs.append(song) + continue - if not song.main_category: - other_songs.append(song) - continue + if not song.main_category: + other_songs.append(song) + continue - if song.main_category not in songs_by_category: - songs_by_category[song.main_category] = [] - songs_by_category[song.main_category].append(song) - all_categories.update(song.categories.keys()) + if song.main_category not in songs_by_category: + songs_by_category[song.main_category] = [] + songs_by_category[song.main_category].append(song) + all_categories.update(song.categories.keys()) - songs_by_category["Sonstige"] = other_songs - songs_by_category["Wildcard (nicht a cappella)"] = wildcard_songs - songs_by_category["Aktuelles Programm"] = current_songs + songs_by_category["Sonstige"] = other_songs + songs_by_category["Wildcard (nicht a cappella)"] = wildcard_songs + songs_by_category["Aktuelles Programm"] = current_songs - all_categories = list(all_categories) - all_categories.sort() + all_categories = list(all_categories) + all_categories.sort() - all_categories.append("Sonstige") - all_categories.append("Wildcard (nicht a cappella)") - all_categories.append("Aktuelles Programm") + all_categories.append("Sonstige") + all_categories.append("Wildcard (nicht a cappella)") + all_categories.append("Aktuelles Programm") # print(all_categories) # with open('/data/songs_by_cat.json', 'w') as f: