From 213a7779b147ad32ba29de9287e0a2a52c51ee1b Mon Sep 17 00:00:00 2001
From: Timothe Jost <timothe.jost@wanadoo.fr>
Date: Thu, 28 Mar 2024 21:07:51 +0100
Subject: [PATCH] fix issue with tasks_infos trying to transmit step instance
 if requires is resolved

---
 src/pypelines/__init__.py     | 2 +-
 src/pypelines/celery_tasks.py | 4 +++-
 src/pypelines/steps.py        | 4 ++--
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/pypelines/__init__.py b/src/pypelines/__init__.py
index e0de8e0..9a7e7e0 100644
--- a/src/pypelines/__init__.py
+++ b/src/pypelines/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "0.0.41"
+__version__ = "0.0.42"
 
 from . import loggs
 from .pipes import *
diff --git a/src/pypelines/celery_tasks.py b/src/pypelines/celery_tasks.py
index 99a5bf9..efb3a95 100644
--- a/src/pypelines/celery_tasks.py
+++ b/src/pypelines/celery_tasks.py
@@ -390,7 +390,9 @@ def create_celery_app(conf_path, app_name="pypelines", v_host=None) -> "Celery |
                                 "step_name": step.step_name,
                                 "pipe_name": step.pipe_name,
                                 "pipeline_name": step.pipeline_name,
-                                "requires": step.requires,
+                                "requires": [
+                                    item if isinstance(item, str) else item.complete_name for item in step.requires
+                                ],
                                 "step_level_in_pipe": step.get_level(selfish=True),
                             }
                             tasks_dynamic_data[step.complete_name] = task_data
diff --git a/src/pypelines/steps.py b/src/pypelines/steps.py
index 2a753f8..87903fa 100644
--- a/src/pypelines/steps.py
+++ b/src/pypelines/steps.py
@@ -185,7 +185,7 @@ class BaseStep:
             )
         return autoload_arguments(loggedmethod(self.generation_mechanism), self)
 
-    def get_level(self, selfish=False):
+    def get_level(self, selfish=False) -> int:
         self.pipeline.resolve()
         return StepLevel(self).resolve_level(selfish=selfish)
 
@@ -567,7 +567,7 @@ class StepLevel:
             new_req.append(req)
         return new_req
 
-    def resolve_level(self, selfish: bool = False, uppermost=None):
+    def resolve_level(self, selfish: bool = False, uppermost=None) -> int:
         """Calculates and returns the "level" of the step.
 
         If `selfish` is True, only the requirements that are the same pipe as the `uppermost`
-- 
GitLab