Functions to extract each type of pattern in _dependency_patterns
Source code in library_analyzer/processing/dependencies/_get_dependency.py
| class DependencyExtractor:
"""
Functions to extract each type of pattern in _dependency_patterns
"""
@staticmethod
def extract_pattern_parameter_adverbial_clause(
dependent_param: Parameter,
func_parameters: List[Parameter],
match: Tuple,
param_docstring: Doc,
) -> Union[Dependency, None]:
is_depending_on_param_index = match[1][2]
is_depending_on_param_name = param_docstring[is_depending_on_param_index].text
is_depending_on_param = next(
filter(
lambda param: param.name == is_depending_on_param_name, func_parameters
),
None,
)
if is_depending_on_param is None:
# Likely not a correct dependency match
return None
condition_token = param_docstring[match[1][1]]
condition = extract_condition(condition_token)
action_token = param_docstring[match[1][0]]
action = extract_action(action_token, condition_token)
return Dependency(
hasDependentParameter=dependent_param,
isDependingOn=is_depending_on_param,
hasCondition=condition,
hasAction=action,
)
|
Source code in library_analyzer/processing/dependencies/_get_dependency.py
| @staticmethod
def extract_pattern_parameter_adverbial_clause(
dependent_param: Parameter,
func_parameters: List[Parameter],
match: Tuple,
param_docstring: Doc,
) -> Union[Dependency, None]:
is_depending_on_param_index = match[1][2]
is_depending_on_param_name = param_docstring[is_depending_on_param_index].text
is_depending_on_param = next(
filter(
lambda param: param.name == is_depending_on_param_name, func_parameters
),
None,
)
if is_depending_on_param is None:
# Likely not a correct dependency match
return None
condition_token = param_docstring[match[1][1]]
condition = extract_condition(condition_token)
action_token = param_docstring[match[1][0]]
action = extract_action(action_token, condition_token)
return Dependency(
hasDependentParameter=dependent_param,
isDependingOn=is_depending_on_param,
hasCondition=condition,
hasAction=action,
)
|