diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-09-03 17:41:16 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-09-28 12:54:55 +0200 |
commit | 699c949d8ec1260ca12dfbfa05c404be7395c9cc (patch) | |
tree | f8b1b9dad24269a99a3e54cf85c04434ffc2c250 /src/hydrilla/proxy/simple_dependency_satisfying.py | |
parent | ccf3ce18220f3256a7cf96ed32f26511a5d01337 (diff) | |
download | haketilo-hydrilla-699c949d8ec1260ca12dfbfa05c404be7395c9cc.tar.gz haketilo-hydrilla-699c949d8ec1260ca12dfbfa05c404be7395c9cc.zip |
[proxy] fix a bug that caused mappings to be marked as required even after they stopped being required
Diffstat (limited to 'src/hydrilla/proxy/simple_dependency_satisfying.py')
-rw-r--r-- | src/hydrilla/proxy/simple_dependency_satisfying.py | 11 |
1 files changed, 9 insertions, 2 deletions
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( |