def __call__(self, fn):
        @functools.wraps(fn)
        def wrapped_f(*args):
            generator = fn(*args)
            for v in generator:
                if isinstance(v, dict):
                    if v not in 'value':
                        v['value'] = 1
                    if v.get('group_by') is None:
                        v['group_by'] = None
                    elif isinstance(v['group_by'], tuple):
                        v['group_by'] = list(v['group_by'])
                    elif not isinstance(v['group_by'], list):
                        v['group_by'] = [v['group_by']]
                elif isinstance(v, list):
                    v = dict(date=v[0], value=v[1], group_by=None)
                else:
                    v = dict(date=v, value=1, group_by=None)
                try:
                    self.validate(v)
                except EmitterValidationError as e:
                    generator.throw(e)
                yield v

        wrapped_f._reduce_type = self.reduce_type
        wrapped_f._fluff_emitter = self.fluff_emitter
        return wrapped_f
dataset/ETHPy150Open dimagi/commcare-hq/corehq/ex-submodules/fluff/emitters.py/base_emitter.__call__/swapped operands of `not in`