Return invalidations when deserializing container

When deserializing a container in the pipeline, return the invalidations
that have been caused by the container changing content.
This commit is contained in:
Giacomo Vercesi
2023-09-20 16:46:23 +02:00
committed by Alessandro Di Federico
parent 56af9c1f9d
commit 04698bb550
5 changed files with 33 additions and 16 deletions
+10 -2
View File
@@ -339,12 +339,18 @@ class Manager:
_out = _api.rp_manager_create_global_copy(self._manager, _name)
return make_python_string(_out)
def set_input(self, container_name: str, content: bytes, _key=None):
def set_input(self, container_name: str, content: bytes, _key=None) -> Invalidations:
step_ptr = self._get_step_ptr("begin")
_content = ffi.from_buffer(content)
invalidations = Invalidations()
success = _api.rp_manager_container_deserialize(
self._manager, step_ptr, make_c_string(container_name), _content, len(_content)
self._manager,
step_ptr,
make_c_string(container_name),
_content,
len(_content),
invalidations._invalidations,
)
if not success:
@@ -352,6 +358,8 @@ class Manager:
f"Failed loading user provided input for container {container_name}"
)
return invalidations
def get_pipeline_description(self):
return self._description_str