aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/simple_dependency_satisfying.py
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-09-03 17:41:16 +0200
committerWojtek Kosior <koszko@koszko.org>2022-09-28 12:54:55 +0200
commit699c949d8ec1260ca12dfbfa05c404be7395c9cc (patch)
treef8b1b9dad24269a99a3e54cf85c04434ffc2c250 /src/hydrilla/proxy/simple_dependency_satisfying.py
parentccf3ce18220f3256a7cf96ed32f26511a5d01337 (diff)
downloadhaketilo-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.py11
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(