in fluent/migrate/transforms.py [0:0]
def extract_whitespace(regex, element):
"""Extract leading or trailing whitespace from a TextElement.
Return a tuple of (Placeable, TextElement) in which the Placeable
encodes the extracted whitespace as a StringLiteral and the
TextElement has the same amount of whitespace removed. The
Placeable with the extracted whitespace is always returned first.
If the element starts or ends with a newline, add an empty
StringLiteral.
"""
match = re.search(regex, element.value)
if match:
# If white-space is None, we're a newline. Add an
# empty { "" }
whitespace = match.group("whitespace") or ""
placeable = FTL.Placeable(FTL.StringLiteral(whitespace))
if whitespace == element.value:
return placeable, None
else:
# Either text or block_text matched the rest.
text = match.group("text") or match.group("block_text")
return placeable, FTL.TextElement(text)
else:
return None, element