def meta_command(name, bases, attrs):
    commands = {}
    docs = {}
    for attr, value in attrs.items():
        if getattr(value, '__command__', False):
            commands[attr] = value
            # methods have always have a __doc__ attribute, sometimes empty
            docs[attr] = (getattr(value, '__doc__', None) or
                          'perform the %s command' % attr).strip()
    attrs['__commands__'] = commands
    attrs['__docs__'] = docs

    def run(self, command, *args, **kwargs):
        return self.__commands__[command](self, *args, **kwargs)
    attrs.setdefault('run', run)
    return type(name, bases, attrs)
@raise template.TemplateSyntaxError: If incorrect arguments are passed
dataset/ETHPy150Open openstack/swift/test/probe/brain.py/meta_command--crossover with--dataset/ETHPy150Open mollyproject/mollyproject/molly/maps/templatetags/molly_maps.py/render_map