def match_to_dict(
match: Match, path_vars: Dict[str, PathVar],
errors: bool = True) -> Dict[str, Any]:
"""Convert a regular expression Match to a dict of (name, value) for
all PathVars.
Args:
match: A re.Match.
path_vars: A dict of PathVars.
errors: If True, raise an exception on validation error, otherwise
return None.
Returns:
A (name, value) dict.
Raises:
ValueError if any values fail validation.
"""
match_groups = match.groupdict()
try:
return dict(
(name, var(match_groups.get(name, None)))
for name, var in path_vars.items())
except ValueError:
if errors:
raise
else:
return None
# pylint: disable=no-member
评论列表
文章目录