Skip to content

Commit 7ebdb62

Browse files
committed
added _construct_data_dict for modularity
1 parent a8b965d commit 7ebdb62

File tree

1 file changed

+41
-2
lines changed

1 file changed

+41
-2
lines changed

src/app/core/cache.py

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,49 @@ def _infer_resource_id(kwargs: Dict[str, Any], resource_id_type: Union[type, str
8888

8989

9090
def _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+
96134
def _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

Comments
 (0)