diff --git a/scripts/convert_tags_to_custom_properties/convert_tags_to_custom_properties.py b/scripts/convert_tags_to_custom_properties/convert_tags_to_custom_properties.py index db49eb4..597b78b 100644 --- a/scripts/convert_tags_to_custom_properties/convert_tags_to_custom_properties.py +++ b/scripts/convert_tags_to_custom_properties/convert_tags_to_custom_properties.py @@ -100,8 +100,26 @@ def fetch_custom_properties(): return properties +def deduplicate_properties_by_alias(properties): + """ + Return properties with duplicate aliases removed, keeping the first occurrence. + Uses the first alias from each property's aliases list. + """ + seen_aliases = set() + deduplicated = [] + for prop in properties: + alias = prop["aliases"][0] if prop.get("aliases") else None + if alias is not None and alias not in seen_aliases: + seen_aliases.add(alias) + deduplicated.append(prop) + elif alias is None: + deduplicated.append(prop) # Keep properties with no aliases + return deduplicated + + def main(): properties = fetch_custom_properties() + properties = deduplicate_properties_by_alias(properties) for index, property_info in enumerate(properties, 1): property_name = property_info["name"]