DJP
5e8745580a
Fix folder detection for folders with periods (v2)
...
- Enhanced logic to detect false-positive extensions like '. REFERENCE FILES'
- Checks if extension starts with period + space/uppercase (indicates folder name)
- Checks if extension contains spaces (not a valid file extension)
- Properly handles edge cases: '01. REFERENCE FILES', '02. OPEN FILES'
- Tested with multiple scenarios to ensure accuracy
2025-12-17 13:14:59 -05:00
DJP
6d7aa7e95a
Fix folder detection for folders with periods in names
...
- Enhanced _get_assets_recursive() to properly identify folders vs files
- Added resource_type field validation (more reliable than asset_type)
- Created whitelist of 40+ known file extensions for accurate detection
- Fixes HTTP 404 errors when processing folders like '01. REFERENCE FILES'
- Applies to both A1->A2 and B1->B2 workflows
2025-12-17 13:06:02 -05:00
DJP
599d468e44
Add Master Asset ID field to A2→A3 uploads
...
- Added ARTESIA.FIELD.ASSET_ID to MVP fields in field_mappings.yaml
- Updated metadata_extractor_mvp.py to accept master_opentext_id parameter
- Added _add_master_asset_id_field() and _get_field_id() helper methods
- Modified a2_to_a3_upload_polling.py to pass master asset's opentext_id
- Field is populated with original master asset's DAM ID for derivative tracking
- Field is omitted for new assets (tracking ID with -N suffix)
- Covers both A2→A3 standard derivatives and A5→A6 reworked assets
2025-12-15 17:28:30 -05:00
DJP
022f232224
Fix UnboundLocalError in A1->A2 uploader and add error email
2025-12-10 08:36:16 -05:00
DJP
a7d17dd00d
Add CSV attachment with campaign details to A1 and B1 success emails
2025-12-07 19:27:36 -05:00
DJP
9a3bf5d9cd
Implement Master Tracking ID validation for A2-A3 uploads
2025-12-06 17:21:38 -05:00
DJP
160ef8ad43
Implement prefix-based tracking ID system for master files
...
- Master files (B1→B2) now always start with 'M' prefix
- Regular files (A1→A2, A5→A6) never start with 'M'
- Updated generate_unique_tracking_id() to accept is_master parameter
- All tracking IDs remain 6 characters in length
- No database schema changes required
2025-12-06 10:01:05 -05:00
DJP
4724fa3333
feat: Add A2-A3 batch upload completion notification template.
2025-12-03 17:05:39 -05:00
DJP
bce739d116
feat: Automatically set asset validity dates in the metadata extractor and update the agency name in field mappings.
2025-12-03 14:28:59 -05:00
DJP
85b39c49cb
Add debug script for B1 pagination issue
2025-12-02 09:44:10 -05:00
DJP
ea2e313185
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
DJP
9b24ca1594
Add systemd service files for Prod Orchestrator and CreativeX Service
2025-12-01 16:09:26 -05:00
DJP
ca11c0dbb4
Fix NameError: Restore missing import in dam_client.py
2025-12-01 15:31:30 -05:00
DJP
69ffdeb14e
Add CreativeX service runner and fix dam_client indentation
2025-12-01 15:29:27 -05:00
DJP
5f389f6490
Implement robust Box name sanitization in shared/common.py
2025-12-01 15:23:01 -05:00
DJP
499399d6c6
Sanitize subfolder names in dam_client recursive search
2025-12-01 15:16:55 -05:00
DJP
2a8129f428
Fix Box folder naming: sanitize forward slashes in campaign names
2025-12-01 15:13:58 -05:00
DJP
4d1e71d978
Implement true recursion in DAM client: treat items without extensions as folders
2025-12-01 14:54:21 -05:00
DJP
67c8765512
Add fallback check to B1->B2 script: skip assets with no file extension
2025-12-01 14:22:59 -05:00
DJP
0f6e816255
Fix recursive download in B1->B2 script: improve folder identification and add safeguards
2025-12-01 14:17:14 -05:00
DJP
4c691dda30
Update CSV format to combine Campaign Number and Name, add manual regeneration script
2025-12-01 09:22:32 -05:00
DJP
db0dceb19c
Add --auth-pfx-v2 and --env options to update_campaign_status.py
2025-11-27 06:58:39 -05:00
DJP
4259b1073c
Add --auth-pfx-v2 support to A4 Box Uploader
2025-11-26 17:01:34 -05:00
DJP
17648d9051
Fix test_connection to not use non-existent /v6 endpoint
2025-11-26 16:58:55 -05:00
DJP
532699f634
Show full OAuth tokens in logs for debugging
2025-11-26 16:44:07 -05:00
DJP
cda33e8c8d
Switch production orchestrator back to mTLS V2 (--auth-pfx-v2)
2025-11-26 16:32:43 -05:00
DJP
b2c8e01d4b
Add token preview logging for OAuth tokens
2025-11-26 16:32:10 -05:00
DJP
c7ddf1d45f
Add verbose logging for all DAM API requests
2025-11-26 16:26:15 -05:00
DJP
d68e149d1e
Switch production orchestrator to use legacy mTLS (--auth-pfx)
2025-11-26 16:05:10 -05:00
DJP
37cab9d902
Add support for loading environment-specific .env files (prod/dev)
2025-11-26 15:44:09 -05:00
DJP
c1bd575bf9
Add --auth-pfx-v2 support to A4 Webhook Monitor for production
2025-11-26 15:39:00 -05:00
DJP
c1df6a7712
Fix A4 Webhook Monitor to use --auth-pfx for production
2025-11-26 15:38:06 -05:00
DJP
87b593c5f9
Fix syntax errors in orchestrator-prod.py args
2025-11-26 15:34:14 -05:00
DJP
c53e79cbaf
Add production orchestrator configuration
2025-11-26 15:31:32 -05:00
DJP
07bce09d65
Fix B1→B2 bug: total_assets referenced before assignment
2025-11-26 15:07:27 -05:00
DJP
8ca44fcf1e
Add metadata diagnostic tool for troubleshooting field issues
2025-11-26 14:52:39 -05:00
DJP
f9c11ef3f5
Fix misleading log message for A5 campaigns with no rejections
2025-11-26 14:45:48 -05:00
DJP
795e4e7d96
Improve A5 notification logic to handle status changes
2025-11-26 14:26:36 -05:00
DJP
0f1c3dd0ec
Prevent duplicate 'no rejections' emails for A5 campaigns
2025-11-26 14:25:57 -05:00
DJP
936071d7ad
Change script intervals from 5 to 3 minutes for faster processing
2025-11-26 14:18:45 -05:00
DJP
f15ae9a8d1
Stream full script output to console in real-time
2025-11-26 14:04:15 -05:00
DJP
d6b68af5d5
Fix A5→A6 to also use OAuth authentication
2025-11-26 14:03:07 -05:00
DJP
16527f6e43
Temporarily disable mTLS auth, use OAuth for troubleshooting
2025-11-26 13:59:48 -05:00
DJP
3518f7c909
Remove A1->A2 Download task from orchestrator and add run guide
2025-11-26 13:53:48 -05:00
DJP
7599fe7cd2
feat: Remove A1->A2 Download script from orchestrator configuration
2025-11-26 13:48:48 -05:00
DJP
99d8621266
Increase throughput: process 2 campaigns in A1→A2, all files in A2→A3
2025-11-26 13:43:06 -05:00
DJP
98fb7eaee2
Fix smoke test to use prod-auth endpoint instead of test-auth
2025-11-26 10:20:59 -05:00
DJP
9d207d0480
chore: Update DAM mTLS base and OAuth URLs in production environment to /token endpoint.
2025-11-26 10:18:56 -05:00
DJP
6064b0971e
Fix smoke test to explicitly load .env-prod file
2025-11-26 10:14:26 -05:00
DJP
cabc1d5548
Add production smoke test script for mTLS V2 authentication
2025-11-26 10:08:04 -05:00