ferrero-opentext/Python-Version/config/field_mappings.yaml
DJP 9dc272f8bf Start Python automation - Foundation components
Created Python-Version/ directory structure:
 Complete folder hierarchy (scripts, config, logs, temp, tests)
 Virtual environment setup script
 Python 3.6+ compatible dependencies
 Configuration system with env var substitution
 DAM API client (complete)

Components Implemented:
1. setup.sh - venv creation and dependency installation
2. requirements.txt - Python 3.6/3.10 compatible packages
3. config/config.yaml - Main configuration (URLs, credentials, settings)
4. config/field_mappings.yaml - MVP fields list (easy to edit!)
5. config_loader.py - YAML config with ${VAR} substitution
6. dam_client.py - Complete DAM API wrapper:
   - OAuth2 with auto-refresh
   - search_campaigns(status)
   - get_master_assets(campaign_id)
   - download_asset(asset_id)
   - upload_asset() with video metadata
   - update_campaign_status()
   - Helper methods

Features:
- Python 3.6 compatible (shared hosting requirement)
- Python 3.10 compatible (local development)
- Configuration-driven (no hardcoded values)
- Environment-specific configs (staging/production)
- Comprehensive error handling
- Logging built-in

Next: Box client, Database client, FilenameParser, MetadataExtractorMVP,
      Notifier, then main scripts (A1→A2, A2→A3)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 16:38:26 -04:00

61 lines
1.7 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
# 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"