Added Scores to export

This commit is contained in:
Mawoka
2022-10-05 13:21:57 +02:00
parent 2b2a7229fa
commit 39b5c6d08a
2 changed files with 11 additions and 4 deletions
+7 -3
View File
@@ -29,7 +29,7 @@ async def get_meili_data(quiz: Quiz) -> dict:
}
async def generate_spreadsheet(quiz_results: dict, quiz: Quiz, player_fields: dict) -> BytesIO:
async def generate_spreadsheet(quiz_results: dict, quiz: Quiz, player_fields: dict, player_scores: dict) -> BytesIO:
storage = BytesIO()
workbook = xlsxwriter.Workbook(storage, {"in_memory": True})
player_worksheet = workbook.add_worksheet()
@@ -37,9 +37,13 @@ async def generate_spreadsheet(quiz_results: dict, quiz: Quiz, player_fields: di
player_worksheet.write(0, 0, "Username")
player_worksheet.write(0, 1, "Score")
player_worksheet.write(0, 2, "Custom-Field")
for i, player in enumerate(player_fields.keys()):
for i, player in enumerate(player_scores.keys()):
player_worksheet.write(i + 1, 0, player)
player_worksheet.write(i + 1, 2, player_fields[player])
player_worksheet.write(i + 1, 1, player_scores[player])
try:
player_worksheet.write(i + 1, 2, player_fields[player])
except KeyError:
continue
worksheet = workbook.add_worksheet()
worksheet.name = "Questions"
+4 -1
View File
@@ -258,7 +258,10 @@ async def export_quiz_answers(export_token: str, game_pin: str):
raise HTTPException(status_code=404, detail="quiz not found")
player_fields = await redis.hgetall(f"game:{game_pin}:players:custom_fields")
spreadsheet = await generate_spreadsheet(quiz=quiz, quiz_results=data, player_fields=player_fields)
score_data = await redis.hgetall(f"game_session:{game_pin}:player_scores")
spreadsheet = await generate_spreadsheet(
quiz=quiz, quiz_results=data, player_fields=player_fields, player_scores=score_data
)
def iter_file():
yield from spreadsheet