Revision 9b3c8fd9 kamaki/cli/argument/__init__.py

b/kamaki/cli/argument/__init__.py
452 452

  
453 453
    def __init__(
454 454
            self, exe,
455
            arguments=None, required=None, syntax=None, description=None):
455
            arguments=None, required=None, syntax=None, description=None,
456
            check_required=True):
456 457
        """
457 458
        :param exe: (str) the basic command (e.g. 'kamaki')
458 459

  
......
473 474
        :param syntax: (str) The basic syntax of the arguments. Default:
474 475
            exe <cmd_group> [<cmd_subbroup> ...] <cmd>
475 476
        :param description: (str) The description of the commands or ''
477
        :param check_required: (bool) Set to False inorder not to check for
478
            required argument values while parsing
476 479
        """
477 480
        self.parser = ArgumentParser(
478 481
            add_help=False, formatter_class=RawDescriptionHelpFormatter)
479 482
        self._exe = exe
480 483
        self.syntax = syntax or (
481 484
            '%s <cmd_group> [<cmd_subbroup> ...] <cmd>' % exe)
482
        self.required = required
485
        self.required, self.check_required = required, check_required
483 486
        self.parser.description = description or ''
484 487
        if arguments:
485 488
            self.arguments = arguments
......
613 616
            self.update_parser()
614 617

  
615 618
    def _parse_required_arguments(self, required, parsed_args):
616
        if not required:
619
        if not (self.check_required and required):
617 620
            return True
618 621
        if isinstance(required, tuple):
619 622
            for item in required:

Also available in: Unified diff