diff options
-rw-r--r-- | lib/python/milc.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/python/milc.py b/lib/python/milc.py index e8599eff3..4392c8376 100644 --- a/lib/python/milc.py +++ b/lib/python/milc.py | |||
@@ -595,23 +595,25 @@ class MILC(object): | |||
595 | 595 | ||
596 | return entrypoint_func | 596 | return entrypoint_func |
597 | 597 | ||
598 | def add_subcommand(self, handler, description, name=None, **kwargs): | 598 | def add_subcommand(self, handler, description, name=None, hidden=False, **kwargs): |
599 | """Register a subcommand. | 599 | """Register a subcommand. |
600 | 600 | ||
601 | If name is not provided we use `handler.__name__`. | 601 | If name is not provided we use `handler.__name__`. |
602 | """ | 602 | """ |
603 | |||
603 | if self._inside_context_manager: | 604 | if self._inside_context_manager: |
604 | raise RuntimeError('You must run this before the with statement!') | 605 | raise RuntimeError('You must run this before the with statement!') |
605 | 606 | ||
606 | if self._subparsers is None: | 607 | if self._subparsers is None: |
607 | self.add_subparsers() | 608 | self.add_subparsers(metavar="") |
608 | 609 | ||
609 | if not name: | 610 | if not name: |
610 | name = handler.__name__.replace("_", "-") | 611 | name = handler.__name__.replace("_", "-") |
611 | 612 | ||
612 | self.acquire_lock() | 613 | self.acquire_lock() |
613 | 614 | if not hidden: | |
614 | kwargs['help'] = description | 615 | self._subparsers.metavar = "{%s,%s}" % (self._subparsers.metavar[1:-1], name) if self._subparsers.metavar else "{%s%s}" % (self._subparsers.metavar[1:-1], name) |
616 | kwargs['help'] = description | ||
615 | self.subcommands[name] = SubparserWrapper(self, name, self._subparsers.add_parser(name, **kwargs)) | 617 | self.subcommands[name] = SubparserWrapper(self, name, self._subparsers.add_parser(name, **kwargs)) |
616 | self.subcommands[name].set_defaults(entrypoint=handler) | 618 | self.subcommands[name].set_defaults(entrypoint=handler) |
617 | 619 | ||
@@ -619,11 +621,11 @@ class MILC(object): | |||
619 | 621 | ||
620 | return handler | 622 | return handler |
621 | 623 | ||
622 | def subcommand(self, description, **kwargs): | 624 | def subcommand(self, description, hidden=False, **kwargs): |
623 | """Decorator to register a subcommand. | 625 | """Decorator to register a subcommand. |
624 | """ | 626 | """ |
625 | def subcommand_function(handler): | 627 | def subcommand_function(handler): |
626 | return self.add_subcommand(handler, description, **kwargs) | 628 | return self.add_subcommand(handler, description, hidden=hidden, **kwargs) |
627 | 629 | ||
628 | return subcommand_function | 630 | return subcommand_function |
629 | 631 | ||