| 123456789101112131415161718 | 
							- import re
 - 
 - from core.workflow.entities.variable_pool import VariablePool
 - 
 - from . import SegmentGroup, factory
 - 
 - VARIABLE_PATTERN = re.compile(r"\{\{#([a-zA-Z0-9_]{1,50}(?:\.[a-zA-Z_][a-zA-Z0-9_]{0,29}){1,10})#\}\}")
 - 
 - 
 - def convert_template(*, template: str, variable_pool: VariablePool):
 -     parts = re.split(VARIABLE_PATTERN, template)
 -     segments = []
 -     for part in filter(lambda x: x, parts):
 -         if "." in part and (value := variable_pool.get(part.split("."))):
 -             segments.append(value)
 -         else:
 -             segments.append(factory.build_segment(part))
 -     return SegmentGroup(value=segments)
 
 
  |