[core] Ensure that a generated ID name is distinct from its type. (#6706)

This commit is contained in:
Clyde Stubbs 2024-05-09 13:08:30 +10:00 committed by GitHub
parent d0120cefd2
commit afe81184a8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -340,6 +340,8 @@ class ID:
if self.id is None: if self.id is None:
base = str(self.type).replace("::", "_").lower() base = str(self.type).replace("::", "_").lower()
if base == self.type:
base = base + "_id"
name = "".join(c for c in base if c.isalnum() or c == "_") name = "".join(c for c in base if c.isalnum() or c == "_")
used = set(registered_ids) | set(RESERVED_IDS) | CORE.loaded_integrations used = set(registered_ids) | set(RESERVED_IDS) | CORE.loaded_integrations
self.id = ensure_unique_string(name, used) self.id = ensure_unique_string(name, used)