def argument(self, name, description=None, required=False, is_list=False, default=None):
        def decorate(func):
            func_name = func.__name__

            if self.has(func_name):
                command = self.get(func_name)
            else:
                command = self.register(func_name)
                command.set_description(func.__doc__)

            command.add_argument_from_dict({
                'name': name,
                'description': description,
                'required': required,
                'list': is_list,
                'default': default
            })
            command.set_code(func)

            return func

        return decorate
Decorator to add an argument to a command of the application.
dataset/ETHPy150Open sdispater/cleo/cleo/application.py/Application.argument