diff --git a/Python-Version/config/asset_type_mappings.yaml b/Python-Version/config/asset_type_mappings.yaml index 6e70170..43e9333 100644 --- a/Python-Version/config/asset_type_mappings.yaml +++ b/Python-Version/config/asset_type_mappings.yaml @@ -48,6 +48,7 @@ VIE: visualidentityelements # Brand Visual Identity Elements # External Legal Opinion EOL: externallegalopinion # External Legal Opinion (triggers field overrides) +SDA: externallegalopinion # Supporting Documents for Approval - License claim translations (triggers field overrides) # Note: If a 3-letter code is not in this mapping, it will be passed through as-is # and may fail DAM validation if the code doesn't exist in DAM's domain diff --git a/Python-Version/config/field_mappings_ppr.yaml b/Python-Version/config/field_mappings_ppr.yaml index 25de6ef..23f4299 100644 --- a/Python-Version/config/field_mappings_ppr.yaml +++ b/Python-Version/config/field_mappings_ppr.yaml @@ -76,3 +76,26 @@ defaults: FERRERO.MARKETING.FIELD.VIDEO_POST_PROD_COMPANY: "Oliver Marketing Ltd" FERRERO.MARKETING.FIELD.AUDIO_POST_PROD_COMPANY: "Oliver Marketing Ltd" FERRERO.MARKET.PROD_COMPANY: "-" # Production House + +# Asset type overrides (keyed by 3-letter asset type code) +# Applied AFTER normal field updates and forced values +# Overrides specific fields when a matching asset type is detected in the filename +asset_type_overrides: + EOL: # External Legal Opinion - selected as asset type in naming tool + FERRERO.MARKETING.FIELD.AGENCY NAME: "-" + FERRERO.MARKET.PROD_COMPANY: "-" + MAIN_LANGUAGES: "Global" + FERRERO.MARKET.FIELD.IPRIGHT: "Yes" + FERRERO.MARKET.FIELD.LICENSIN: "No" + FERRERO.FIELD.ASSET VALIDITY START PERIOD: "" # Remove validity dates for EOL + FERRERO.FIELD.ASSET VALIDITY END PERIOD: "" # Remove validity dates for EOL + + SDA: # Supporting Documents for Approval - License claim translations supporting EOL + FERRERO.MARKETING.FIELD.AGENCY NAME: "-" + FERRERO.MARKET.PROD_COMPANY: "-" + MAIN_LANGUAGES: "Global" + FERRERO.MARKET.FIELD.IPRIGHT: "Yes" + FERRERO.MARKET.FIELD.LICENSIN: "No" + FERRERO.FIELD.ASSET VALIDITY START PERIOD: "" # Remove validity dates for SDA + FERRERO.FIELD.ASSET VALIDITY END PERIOD: "" # Remove validity dates for SDA + ARTESIA.FIELD.ASSET DESCRIPTION: "Translation of License claim - For approval purposes only" diff --git a/Python-Version/config/field_mappings_prod.yaml b/Python-Version/config/field_mappings_prod.yaml index aa7607b..d1271cf 100644 --- a/Python-Version/config/field_mappings_prod.yaml +++ b/Python-Version/config/field_mappings_prod.yaml @@ -89,3 +89,13 @@ asset_type_overrides: FERRERO.MARKET.FIELD.LICENSIN: "No" FERRERO.FIELD.ASSET VALIDITY START PERIOD: "" # Remove validity dates for EOL FERRERO.FIELD.ASSET VALIDITY END PERIOD: "" # Remove validity dates for EOL + + SDA: # Supporting Documents for Approval - License claim translations supporting EOL + FERRERO.MARKETING.FIELD.AGENCY NAME: "-" + FERRERO.MARKET.PROD_COMPANY: "-" + MAIN_LANGUAGES: "Global" + FERRERO.MARKET.FIELD.IPRIGHT: "Yes" + FERRERO.MARKET.FIELD.LICENSIN: "No" + FERRERO.FIELD.ASSET VALIDITY START PERIOD: "" # Remove validity dates for SDA + FERRERO.FIELD.ASSET VALIDITY END PERIOD: "" # Remove validity dates for SDA + ARTESIA.FIELD.ASSET DESCRIPTION: "Translation of License claim - For approval purposes only" diff --git a/Python-Version/scripts/shared/metadata_extractor_mvp.py b/Python-Version/scripts/shared/metadata_extractor_mvp.py index 208067e..93c5845 100644 --- a/Python-Version/scripts/shared/metadata_extractor_mvp.py +++ b/Python-Version/scripts/shared/metadata_extractor_mvp.py @@ -403,7 +403,15 @@ class MetadataExtractorMVP: break if not field_found: - logger.warning("Asset type override field '{}' not found in MVP fields - skipping".format(field_id)) + # Field not present yet (e.g. description has no subject_title from filename). + # Append as a simple string field so the override still takes effect. Tabular + # / domained overrides aren't supported here — they should already be in + # mvp_fields via _add_missing_fields. + mvp_fields.append({ + 'id': field_id, + 'value': {'value': {'type': 'string', 'value': override_value}} + }) + logger.info("Asset type override: {} = {} (added missing field)".format(field_id, override_value)) return mvp_fields