in fluent/migrate/_context.py [0:0]
def get_fluent_source_pattern(self, path: str, key: str):
"""Get a pattern from a localized Fluent source.
If the key contains a `.`, does an attribute lookup.
Used by the `COPY_PATTERN` transform.
"""
resource = self.localization_resources[path]
msg_key, _, attr_key = key.partition(".")
found = None
for entry in resource.body:
if isinstance(entry, (FTL.Message, FTL.Term)):
if entry.id.name == msg_key:
found = entry
break
if found is None:
return None
if not attr_key:
return found.value
for attribute in found.attributes:
if attribute.id.name == attr_key:
return attribute.value
return None