diff --git a/generate_pdf_emoji_support.py b/generate_pdf_emoji_support.py index 921680e..04df6cf 100644 --- a/generate_pdf_emoji_support.py +++ b/generate_pdf_emoji_support.py @@ -5,6 +5,7 @@ import tempfile import jinja2 import os from playwright.sync_api import sync_playwright +from itertools import groupby def is_number(s): """Returns True if s can be interpreted as a float.""" @@ -37,9 +38,15 @@ def main(): reader = csv.DictReader(f, delimiter='\t') rows = list(reader) - # 2. Sort rows by sending locality - rows = sorted(rows, key=lambda r: r.get("Sending locality:", "").strip()) + # 2. Sort rows by sending locality first, then by name + rows = sorted(rows, key=lambda r: ( + r.get("Sending locality:", "").strip(), + r.get("Name (last, first): ", "").strip() + )) + # Group rows by locality to generate separate pdfs + grouped_rows = groupby(rows, key=lambda r: r.get("Sending locality:", "").strip()) + # Known columns to skip skip_cols = { 'Timestamp', @@ -51,7 +58,7 @@ def main(): # 3. Process each row into a data structure for Jinja2 processed_rows = [] for row in rows: - name = row.get('Name (last, first):', '').strip() + #name = row.get('Name (last, first):', '').strip() # TODO: Refactor: This isn't working because it's 'Name (last, first): '. Unused for now. locality = row.get('Sending locality:', '').strip() q_and_a = [] @@ -90,7 +97,7 @@ def main(): }) processed_rows.append({ - "name": name, + # "name": name, "locality": locality, "entries": q_and_a })