MCPcopy Index your code
hub / github.com/OpenBMB/ChatDev / from_dict

Method from_dict

entity/configs/edge/edge_processor.py:155–192  ·  view source on GitHub ↗
(cls, data: Mapping[str, Any], *, path: str)

Source from the content-addressed store, hash-verified

153
154 @classmethod
155 def from_dict(cls, data: Mapping[str, Any], *, path: str) -> "RegexEdgeProcessorConfig":
156 mapping = require_mapping(data, path)
157 pattern = require_str(mapping, "pattern", path, allow_empty=False)
158 group_value = mapping.get("group")
159 group_normalized: str | int | None = None
160 if group_value is not None:
161 if isinstance(group_value, int):
162 group_normalized = group_value
163 elif isinstance(group_value, str):
164 if group_value.isdigit():
165 group_normalized = int(group_value)
166 else:
167 group_normalized = group_value
168 else:
169 raise ConfigError("group must be str or int", extend_path(path, "group"))
170 multiple = optional_bool(mapping, "multiple", path, default=False)
171 case_sensitive = optional_bool(mapping, "case_sensitive", path, default=True)
172 multiline = optional_bool(mapping, "multiline", path, default=False)
173 dotall = optional_bool(mapping, "dotall", path, default=False)
174 on_no_match = optional_str(mapping, "on_no_match", path) or "pass"
175 if on_no_match not in {"pass", "default", "drop"}:
176 raise ConfigError("on_no_match must be pass, default or drop", extend_path(path, "on_no_match"))
177
178 template = optional_str(mapping, "template", path)
179 default_value = optional_str(mapping, "default_value", path)
180
181 return cls(
182 pattern=pattern,
183 group=group_normalized,
184 case_sensitive=True if case_sensitive is None else bool(case_sensitive),
185 multiline=bool(multiline) if multiline is not None else False,
186 dotall=bool(dotall) if dotall is not None else False,
187 multiple=bool(multiple) if multiple is not None else False,
188 template=template,
189 on_no_match=on_no_match,
190 default_value=default_value,
191 path=path,
192 )
193
194 def display_label(self) -> str:
195 return f"regex({self.pattern})"

Callers

nothing calls this directly

Calls 7

require_mappingFunction · 0.90
require_strFunction · 0.90
ConfigErrorClass · 0.90
extend_pathFunction · 0.90
optional_boolFunction · 0.90
optional_strFunction · 0.90
getMethod · 0.45

Tested by

no test coverage detected