diff options
author | Erovia <Erovia@users.noreply.github.com> | 2019-11-21 21:52:00 +0100 |
---|---|---|
committer | skullydazed <skullydazed@users.noreply.github.com> | 2019-11-21 12:52:00 -0800 |
commit | 7e7eb69edffca39b51e8fdcd5eaa76262e16eaf4 (patch) | |
tree | 68413d22bb38d8ed2534eb1f705d6e19ebab68e6 /lib/python/milc.py | |
parent | f0790a722d5a586e3621487b554fd217839c24c0 (diff) | |
download | qmk_firmware-7e7eb69edffca39b51e8fdcd5eaa76262e16eaf4.tar.gz qmk_firmware-7e7eb69edffca39b51e8fdcd5eaa76262e16eaf4.zip |
MILC: Add support for hidden subcommands (#7034)
* MILC: Add support for hidden subcommands
Subcommands with 'hidden=True' will not show up in the help output, but
will work as any other subcommands.
* Hide those hidden submodules, for real now
* Rebase on latest MILC
Diffstat (limited to 'lib/python/milc.py')
-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 | ||