class dummy_factory(object): def __init__(self): self.count = 0 self.app = App('dummy_cascade_set', '', '1.0') self.fail_node_list = [] def add_node(self, inputs, outputs, has_fallback=False): assert len( inputs ) <= 10, 'Only supports generating node with less then 10 inputs' self.count += 1 name = 'node' + str(self.count) def func_base(df, valid_input): if name in self.fail_node_list: raise ValueError if not valid_input: val = 1000 else: val = df.sum().sum() return tuple(pd.Series(val * (i + 1)) for i in range(len(outputs))) def func_no_default(df): return func_base(df, True) func = func_base if not has_fallback: func = func_no_default setattr(func, '__name__', name) self.app.add_metric(func, '', inputs, outputs)
class dummy_factory(object): def __init__(self): self.count = 0 self.app = App('dummy_cascade_set', '', '1.0') self.fail_node_list = [] def add_node(self, inputs, outputs, has_fallback=False): assert len(inputs) <= 10, 'Only supports generating node with less then 10 inputs' self.count += 1 name = 'node' + str(self.count) def func_base(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, valid_input): if name in self.fail_node_list: raise ValueError if not valid_input: val = name + ' default' else: arg_list = [arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10] val = name + str([arg for arg in arg_list if arg is not None]).replace("'","") return tuple( val + str(i) for i in range(len(outputs)) ) def func_no_default(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10): return func_base(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, True) func = func_base if not has_fallback: func = func_no_default args = [None] * (10 - len(inputs)) partial_func = partial(func, *args) setattr(partial_func, '__name__', name) self.app.add_metric(partial_func, '', inputs, outputs)