Adds debugging mode to A2→A3 workflow that builds full asset metadata but doesn't upload to DAM, displaying complete JSON for field validation. Changes to A2→A3 Script (a2_to_a3_upload_polling.py): --dryrun Flag: - New argument: --dryrun (build metadata but don't upload) - Displays full asset representation as formatted JSON - Shows field count - Shows CreativeX lookup status - Keeps file in Box (no deletion) - Logs "DRYRUN MODE" clearly - Returns success with 'DRYRUN_NO_UPLOAD' as asset_id Dryrun Output Includes: - Complete asset_representation JSON (all MVP fields) - Field count (should be 27 fields) - CreativeX status (found/missing) - CreativeX score and URL values - Clean separation with === lines Usage: python scripts/a2_to_a3_upload_polling.py --dryrun Benefits: - Debug metadata issues without DAM uploads - Verify all fields present before going live - Check CreativeX integration working - Validate field values and formatting - Safe testing with production data Changes to Field Mappings (config/field_mappings.yaml): Agency Name Fixed: - Changed: FERRERO.MARKETING.FIELD.AGENCY NAME: "-" - To: FERRERO.MARKETING.FIELD.AGENCY NAME: "Oliver" - Exact case as required by DAM - Comment updated to reflect this is final value Impact: - All A2→A3 uploads now have Agency Name = "Oliver" - Not "Oliver Agency" (wrong) - Not "-" placeholder (old) - Exact case: "Oliver" (capital O, lowercase liver) Use Case: Run with --dryrun to see full JSON metadata, verify Agency name is "Oliver", check all 27 MVP fields are present, then remove --dryrun flag to perform actual uploads. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
66 lines
1.9 KiB
YAML
66 lines
1.9 KiB
YAML
# MVP Field IDs - Add or remove fields here (no code changes needed!)
|
|
|
|
mvp_fields:
|
|
# Asset Info Category
|
|
- FERRERO.FIELD.MKTG.ASSET TYPE
|
|
- FERRERO.FIELD.FISCAL YEAR
|
|
- MAIN_LANGUAGES
|
|
- FERRERO.FIELD.ASSETCOMPLIANCE
|
|
- ARTESIA.FIELD.ASSET DESCRIPTION
|
|
- FERRERO.FIELD.MARKETING.FLAVOUR
|
|
- FERRERO.FIELD.MARKETING.SIZE
|
|
- FERRERO.FIELD.STATE
|
|
- ARTESIA.FIELD.ASSET NAME
|
|
- FERRERO.FIELD.SUB BRAND
|
|
- FERRERO.FIELD.ASSET VALIDITY START PERIOD
|
|
- FERRERO.FIELD.ASSET VALIDITY END PERIOD
|
|
|
|
# Marketing Category
|
|
- MARKETING_TAG
|
|
- FERRERO.MARKETING.FIELD.AGENCY NAME
|
|
- FERRERO.MARKETING.FIELD.SPOT_VERSION
|
|
- FERRERO.MARKETING.FIELD.DIRECTOR_NAME
|
|
- FERRERO.MARKETING.FIELD.VIDEO_POST_PROD_COMPANY
|
|
- FERRERO.MARKETING.FIELD.VID_POST_PROD_CONTACT
|
|
- FERRERO.MARKETING.FIELD.AUDIO_POST_PROD_COMPANY
|
|
- FERRERO.MARKETING.FIELD.AUDIO_POST_PROD_CONTACT
|
|
|
|
# Market Category
|
|
- FERRERO.MARKET.FIELD.TYPE_VID
|
|
- FERRERO.MARKET.FIELD.IPRIGHT
|
|
- FERRERO.MARKET.PROD_COMPANY
|
|
- FERRERO.MARKET.FIELD.LICENSIN
|
|
- FERRERO.MARKET.FIELD.BUYOUT
|
|
- FERRERO.MARKET.FIELD.FERRERO PROPERTY
|
|
- FERRERO.MARKET.VID_N_STAT
|
|
- FERRERO.MARKET.FIELD.LICENSE
|
|
|
|
# CreativeX Category (from Box metadata template)
|
|
- FERRERO.TAB.FIELD.CREATIVEX # CreativeX Score (Platform > Rating %)
|
|
- FERRERO.FIELD.CREATIVEX LINK # CreativeX URL
|
|
|
|
# Fields to update from V2 filename
|
|
filename_updates:
|
|
ARTESIA.FIELD.ASSET NAME:
|
|
source: clean_filename
|
|
required: true
|
|
|
|
ARTESIA.FIELD.ASSET DESCRIPTION:
|
|
source: subject_title
|
|
required: false
|
|
|
|
MAIN_LANGUAGES:
|
|
source: language_code
|
|
transform: uppercase
|
|
required: true
|
|
|
|
# Fields to force to specific values
|
|
forced_values:
|
|
FERRERO.FIELD.STATE: Local
|
|
|
|
# Default values for missing fields
|
|
defaults:
|
|
FERRERO.FIELD.ASSETCOMPLIANCE: "-"
|
|
MARKETING_TAG: "Tag"
|
|
FERRERO.FIELD.FISCAL YEAR: "2025/2026"
|
|
FERRERO.MARKETING.FIELD.AGENCY NAME: "Oliver" # Agency name (exact case required)
|