def __init__()

in aliyun/log/etl_core/transform/transform_list.py [0:0]


    def __init__(self, trans):
        trans = u(trans)

        if not isinstance(trans, list):
            self.trans = [trans]
        else:
            self.trans = trans

        self.transform_list = []
        for tr in self.trans:
            if isinstance(tr, Callable):
                self.transform_list.append(tr)
            elif isinstance(tr, (dict, )):
                self.transform_list.append(_dict_transform_fn(tr))
            elif isinstance(tr, tuple):
                if len(tr) < 2 or len(tr) > 3:
                    logger.warning(u"invalid transform config: {0}".format(tr))
                    continue

                inpt, config = tr[0], tr[1]
                if isinstance(config, (six.text_type, six.binary_type)):
                    self.transform_list.append(lambda e: REGEX(*tr[1:])(e, inpt))
                elif isinstance(config, Callable):
                    self.transform_list.append(bind_event_fn(config, inpt))
                else:
                    logger.warning(u"unknown transform config setting: {0}".format(config))
                    continue