ferrero-opentext/Python-Version/scripts
nickviljoen ba4f1a9bf7 Feature: Global live campaigns CSV + B4 closure flow
Wires B-series (global) campaigns into OMG using the same Box
automation as A-series. Mirrors the A1/A4 lifecycle for B1/B4.

- b1_to_b2_download: after B2 status update, mark live=YES status=B2
  and upload live_campaigns_global_<ts>.csv to the existing Box folder
  (BOX_LIVE_CAMPAIGNS_FOLDER_ID, 352181382858 in PROD). Filename keeps
  the live_campaigns_ prefix so the existing OMG automation rule picks
  it up.
- b4_box_uploader (new): polls DAM for status B4, marks live=NO, regens
  the global CSV. Mirrors a4_box_uploader.
- a4_box_uploader: reads prior status before overwriting; if it was
  B-series, regenerate the global CSV instead. b4_box_uploader does the
  symmetric A-series fallback. Defensive in case DAM doesn't enforce
  type-specific status transitions.
- database: add get_all_live_global_campaigns() (status LIKE 'B%').
  Tighten get_all_live_campaigns() to status LIKE 'A%' so any cross-type
  rows can't leak into the wrong CSV.
- orchestrator + orchestrator-prod: register B4 Box Uploader at 10min.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 18:12:49 +02:00
..
__pycache__ feat: Add Python project dependencies. 2025-11-20 22:45:04 -05:00
shared Feature: Global live campaigns CSV + B4 closure flow 2026-04-30 18:12:49 +02:00
a1_to_a2_box_uploader.py Enhancement: Treat empty A1 folders as expected workflow 2026-04-28 15:20:41 +02:00
a1_to_a2_download-old.py feat: Add A1→A3 campaign advance script, introduce systemd service for orchestrator, and ref 2025-11-24 13:50:16 -05:00
a2_to_a3_upload_polling.py Fix: Don't send generic CreativeX URL when no score exists 2026-02-24 17:42:57 +02:00
a3_advance.py PPR Environment: Use SIMPLE metadata structure for tabular fields 2026-01-23 16:52:50 +02:00
a3_advance.py.backup PPR Environment: Use SIMPLE metadata structure for tabular fields 2026-01-23 16:52:50 +02:00
a4_box_uploader.py Feature: Global live campaigns CSV + B4 closure flow 2026-04-30 18:12:49 +02:00
a4_webhook_monitor.py Add --auth-pfx-v2 support to A4 Webhook Monitor for production 2025-11-26 15:39:00 -05:00
a5_to_a6_download.py Fix campaign ID storage - always set local_campaign_id 2025-12-22 11:37:58 -05:00
advance_a1_to_a3.py Add interactive campaign status management scripts 2025-11-07 15:23:26 -05:00
b1_to_b2_download.py Feature: Global live campaigns CSV + B4 closure flow 2026-04-30 18:12:49 +02:00
b4_box_uploader.py Feature: Global live campaigns CSV + B4 closure flow 2026-04-30 18:12:49 +02:00
backfill_b1_creativex_scores.py Fix: Recursively walk metadata_element_list when extracting CreativeX 2026-04-29 11:53:15 +02:00
creativex-service.service Add systemd service files for Prod Orchestrator and CreativeX Service 2025-12-01 16:09:26 -05:00
creativex_scoring_storing.py PPR Environment: Use SIMPLE metadata structure for tabular fields 2026-01-23 16:52:50 +02:00
creativex_service.py Add CreativeX service runner and fix dam_client indentation 2025-12-01 15:29:27 -05:00
daily_report.py Enhancement: Add timestamps to batch entries in daily report for better identification 2026-01-19 15:16:13 -05:00
debug_b1_pagination.py Add debug script for B1 pagination issue 2025-12-02 09:44:10 -05:00
diagnose_b1_master_metadata.py Diagnostic: Recursively walk nested metadata_element_list for CX search 2026-04-29 11:49:54 +02:00
get_token.py feat: Add systemd services and timers for daily and weekly database backups, introduce a token retrieval script, and update the backup guide documentation. 2025-12-01 22:19:24 -05:00
list_campaigns_by_status.py PPR Environment: Use SIMPLE metadata structure for tabular fields 2026-01-23 16:52:50 +02:00
manual_csv_regenerate.py Update CSV format to combine Campaign Number and Name, add manual regeneration script 2025-12-01 09:22:32 -05:00
orchestrator-prod.py Feature: Global live campaigns CSV + B4 closure flow 2026-04-30 18:12:49 +02:00
orchestrator.py Feature: Global live campaigns CSV + B4 closure flow 2026-04-30 18:12:49 +02:00
test-metadata-diagnostic.py PPR Environment: Use SIMPLE metadata structure for tabular fields 2026-01-23 16:52:50 +02:00
test-prod-smoke-test.py Fix smoke test to use prod-auth endpoint instead of test-auth 2025-11-26 10:20:59 -05:00
update_campaign_status.py Add --auth-pfx-v2 and --env options to update_campaign_status.py 2025-11-27 06:58:39 -05:00