@@ -88,6 +88,9 @@ def execute_command(self, map_variable: dict = None, **kwargs):
8888 parameters = self .get_parameters ()
8989 filtered_parameters = utils .filter_arguments_for_func (f , parameters , map_variable )
9090
91+ if map_variable :
92+ os .environ [defaults .PARAMETER_PREFIX + 'MAP_VARIABLE' ] = json .dumps (map_variable )
93+
9194 logger .info (f'Calling { func } from { module } with { filtered_parameters } ' )
9295 try :
9396 user_set_parameters = f (** filtered_parameters )
@@ -99,6 +102,9 @@ def execute_command(self, map_variable: dict = None, **kwargs):
99102 logger .exception (_e )
100103 raise
101104
105+ if map_variable :
106+ del os .environ [defaults .PARAMETER_PREFIX + 'MAP_VARIABLE' ]
107+
102108 self .set_parameters (user_set_parameters )
103109
104110
@@ -121,6 +127,9 @@ def execute_command(self, map_variable: dict = None, **kwargs):
121127 parameters = self .get_parameters ()
122128 filtered_parameters = utils .filter_arguments_for_func (f , parameters , map_variable )
123129
130+ if map_variable :
131+ os .environ [defaults .PARAMETER_PREFIX + 'MAP_VARIABLE' ] = json .dumps (map_variable )
132+
124133 logger .info (f'Calling lambda function: { self .command } with { filtered_parameters } ' )
125134 try :
126135 user_set_parameters = f (** filtered_parameters )
@@ -132,6 +141,9 @@ def execute_command(self, map_variable: dict = None, **kwargs):
132141 logger .exception (_e )
133142 raise
134143
144+ if map_variable :
145+ del os .environ [defaults .PARAMETER_PREFIX + 'MAP_VARIABLE' ]
146+
135147 self .set_parameters (user_set_parameters )
136148
137149
@@ -158,6 +170,9 @@ def execute_command(self, map_variable: dict = None, **kwargs):
158170 filtered_parameters = utils .filter_arguments_from_parameters (parameters = parameters ,
159171 signature_parameters = notebook_parameters ,
160172 map_variable = map_variable )
173+ if map_variable :
174+ os .environ [defaults .PARAMETER_PREFIX + 'MAP_VARIABLE' ] = json .dumps (map_variable )
175+
161176 notebook_output_path = self .config .get ('notebook_output_path' ,
162177 '' .join (self .command .split ('.' )[:- 1 ]) + '_out.ipynb' )
163178 kernel = self .config .get ('notebook_kernel' , None )
@@ -175,6 +190,10 @@ def execute_command(self, map_variable: dict = None, **kwargs):
175190 kwds ['kernel_name' ] = kernel
176191
177192 pm .execute_notebook (** kwds )
193+
194+ if map_variable :
195+ del os .environ [defaults .PARAMETER_PREFIX + 'MAP_VARIABLE' ]
196+
178197 except ImportError as e :
179198 msg = (
180199 f'Task type of notebook requires papermill to be installed. Please install via optional: notebook'
@@ -194,9 +213,12 @@ def execute_command(self, map_variable: dict = None, **kwargs):
194213 # It might be that we have to write a bash/windows script that does things for us
195214 # Need to over-ride set parameters too
196215 subprocess_env = os .environ .copy ()
216+
197217 if map_variable :
198218 subprocess_env [defaults .PARAMETER_PREFIX + 'MAP_VARIABLE' ] = json .dumps (map_variable )
219+
199220 result = subprocess .run (self .command , check = True , env = subprocess_env , shell = True ,
200221 stdout = subprocess .PIPE , stderr = subprocess .PIPE , universal_newlines = True )
222+
201223 print (result .stdout )
202224 print (result .stderr )
0 commit comments