@@ -148,22 +148,31 @@ def __init__(self, stream_spec, name, max_inputs=1, args=[], kwargs={}):
148
148
kwargs = kwargs
149
149
)
150
150
151
- """FilterNode"""
152
- def _get_filter (self , outgoing_edges ):
153
- args = self .args
154
- kwargs = self .kwargs
155
- if self .name == 'split' :
156
- args = [len (outgoing_edges )]
151
+ @classmethod
152
+ def _get_item_param (cls , item ):
153
+ return escape_chars (item , '\\ \' =:' )
157
154
158
- out_args = [escape_chars (x , '\\ \' =:' ) for x in args ]
155
+ @classmethod
156
+ def _get_dict_params (cls , d ):
159
157
out_kwargs = {}
160
- for k , v in list (kwargs .items ()):
158
+ for k , v in list (d .items ()):
161
159
k = escape_chars (k , '\\ \' =:' )
162
160
v = escape_chars (v , '\\ \' =:' )
163
161
out_kwargs [k ] = v
162
+ return ['{}={}' .format (k , out_kwargs [k ]) for k in sorted (out_kwargs )]
163
+
164
+ @classmethod
165
+ def _get_list_params (cls , l ):
166
+ out_args = [cls ._get_item_param (x ) for x in l ]
167
+ return [escape_chars (v , '\\ \' =:' ) for v in out_args ]
168
+
169
+ def _get_filter (self , outgoing_edges ):
170
+ args = self .args
171
+ if self .name == 'split' :
172
+ args = [len (outgoing_edges )]
164
173
165
- arg_params = [ escape_chars ( v , ' \\ \' =:' ) for v in out_args ]
166
- kwarg_params = [ '{}={}' . format ( k , out_kwargs [ k ]) for k in sorted ( out_kwargs )]
174
+ arg_params = self . _get_list_params ( args )
175
+ kwarg_params = self . _get_dict_params ( self . kwargs )
167
176
params = arg_params + kwarg_params
168
177
169
178
params_text = escape_chars (self .name , '\\ \' =:' )
0 commit comments