From 699c949d8ec1260ca12dfbfa05c404be7395c9cc Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Sat, 3 Sep 2022 17:41:16 +0200 Subject: [proxy] fix a bug that caused mappings to be marked as required even after they stopped being required --- src/hydrilla/proxy/simple_dependency_satisfying.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/hydrilla/proxy/simple_dependency_satisfying.py') diff --git a/src/hydrilla/proxy/simple_dependency_satisfying.py b/src/hydrilla/proxy/simple_dependency_satisfying.py index a5431f9..e5de8c6 100644 --- a/src/hydrilla/proxy/simple_dependency_satisfying.py +++ b/src/hydrilla/proxy/simple_dependency_satisfying.py @@ -96,8 +96,10 @@ class ComputedPayload: @dc.dataclass class MappingChoice: - info: item_infos.MappingInfo - required: bool = False + info: item_infos.MappingInfo + required: bool = False + mapping_dependencies: t.Sequence[item_infos.MappingInfo] = () + payloads: dict[url_patterns.ParsedPattern, ComputedPayload] = \ dc.field(default_factory=dict) @@ -297,6 +299,11 @@ class _ComputationData: for identifier in required_mappings: choices[identifier].required = True + for mapping_choice in choices.values(): + depended_set = mapping_deps[mapping_choice.info.identifier] + mapping_choice.mapping_dependencies = \ + tuple(choices[identifier].info for identifier in depended_set) + return choices def compute_payloads( -- cgit v1.2.3