@@ -88,11 +88,49 @@ def _infer_resource_id(kwargs: Dict[str, Any], resource_id_type: Union[type, str
8888
8989
9090def _extract_data_inside_brackets (input_string : str ) -> List [str ]:
91- # Use regular expressions to find data inside brackets
91+ """
92+ Extract data inside curly brackets from a given string using regular expressions.
93+
94+ Parameters
95+ ----------
96+ input_string: str
97+ The input string in which to find data enclosed within curly brackets.
98+
99+ Returns
100+ -------
101+ List[str]
102+ A list of strings containing the data found inside the curly brackets within the input string.
103+
104+ Example
105+ -------
106+ >>> _extract_data_inside_brackets("The {quick} brown {fox} jumps over the {lazy} dog.")
107+ ['quick', 'fox', 'lazy']
108+ """
92109 data_inside_brackets = re .findall (r'{(.*?)}' , input_string )
93110 return data_inside_brackets
94111
95112
113+ def _construct_data_dict (data_inside_brackets : List [str ], kwargs : Dict [str , Any ]) -> Dict [str , Any ]:
114+ """
115+ Construct a dictionary based on data inside brackets and keyword arguments.
116+
117+ Parameters
118+ ----------
119+ data_inside_brackets: List[str]
120+ A list of keys inside brackets.
121+ kwargs: Dict[str, Any]
122+ A dictionary of keyword arguments.
123+
124+ Returns
125+ -------
126+ Dict[str, Any]: A dictionary with keys from data_inside_brackets and corresponding values from kwargs.
127+ """
128+ data_dict = {}
129+ for key in data_inside_brackets :
130+ data_dict [key ] = kwargs [key ]
131+ return data_dict
132+
133+
96134def _format_prefix (prefix : str , kwargs : Dict [str , Any ]) -> str :
97135 """
98136 Format a prefix using keyword arguments.
@@ -109,7 +147,8 @@ def _format_prefix(prefix: str, kwargs: Dict[str, Any]) -> str:
109147 str: The formatted prefix.
110148 """
111149 data_inside_brackets = _extract_data_inside_brackets (prefix )
112- formatted_prefix = prefix .format (** {key : kwargs [key ] for key in data_inside_brackets })
150+ data_dict = _construct_data_dict (data_inside_brackets , kwargs )
151+ formatted_prefix = prefix .format (** data_dict )
113152 return formatted_prefix
114153
115154
0 commit comments