From 1c816ee12850639d3d422affcd9450f644866d5b Mon Sep 17 00:00:00 2001 From: Paul Spitzner Date: Fri, 20 Sep 2024 17:42:44 +0200 Subject: [PATCH] made sure env variable get passed from replication task class to their run functions --- sling/sling/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sling/sling/__init__.py b/sling/sling/__init__.py index 46fdf1f..359007d 100644 --- a/sling/sling/__init__.py +++ b/sling/sling/__init__.py @@ -344,6 +344,7 @@ def _prep_cmd(self): def run(self, return_output=False, env:dict=None, stdin=None): cmd = self._prep_cmd() + env = env or self.env return _run(cmd, self.temp_file, return_output=return_output, env=env, stdin=stdin) class Task: @@ -410,6 +411,7 @@ def _prep_cmd(self): def run(self, return_output=False, env:dict=None, stdin=None): cmd = self._prep_cmd() + env = env or self.env return _run(cmd, self.temp_file, return_output=return_output, env=env, stdin=stdin) def stream(self, env:dict=None, stdin=None) -> Iterable[list]: @@ -445,8 +447,8 @@ def _run(cmd: str, temp_file: str, return_output=False, env:dict=None, stdin=Non """ lines = [] try: + env = env or {} for k,v in os.environ.items(): - env = env or {} env[k] = env.get(k, v) for line in _exec_cmd(cmd, env=env, stdin=stdin):