- Accept .xlsx/.xls uploads alongside PDFs in campaigns module - New parse_campaign_excel() in services.py using openpyxl - Converts all sheets to structured text (headers + rows) for LLM use - Upload form now accepts both PDF and Excel files - Added openpyxl to requirements.txt Workflow: upload campaign presentation (PDF) + media plan (Excel with has_pricing checked) for the same campaign ID. The price check will use the Excel data to validate actual prices per country. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| templates/campaigns | ||
| __init__.py | ||
| blueprint.py | ||
| pricing_parser.py | ||
| routes.py | ||
| services.py | ||