예제 #1
0
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)
예제 #2
0
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)