mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-09-30 20:46:32 +00:00
Add simplistic autocomplete
This commit is contained in:
@@ -3,3 +3,4 @@ from . import kubernetes
|
||||
from .kubernetes import Kubernetes
|
||||
from .gcloud import Gcloud
|
||||
from .bootnode import Bootnode
|
||||
from .complete import complete
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import sys
|
||||
|
||||
|
||||
def complete(argv, parser):
|
||||
"""Return completions for commandline."""
|
||||
if not argv[1:]:
|
||||
return
|
||||
|
||||
if not argv[1] == 'complete':
|
||||
return
|
||||
|
||||
# Generate list of command:descriptions
|
||||
completions = []
|
||||
commands = parser.format_help().split('\n')[8:-5]
|
||||
for cmd in commands:
|
||||
k, v = cmd.strip().split(None, 1)
|
||||
completions.append("{0}:{1}".format(k, v))
|
||||
|
||||
print('\n'.join(completions))
|
||||
sys.exit(0)
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
import sys
|
||||
import argparse
|
||||
from bootnode import Bootnode
|
||||
from bootnode import Bootnode, complete
|
||||
|
||||
|
||||
def run_command(cmd, args):
|
||||
@@ -20,7 +20,7 @@ def run_command(cmd, args):
|
||||
getattr(bootnode, cmd)(**kwargs)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
def parser():
|
||||
parser = argparse.ArgumentParser(description='Cluster management commands')
|
||||
parser.add_argument('--network', help='Ethereum network')
|
||||
subparsers = parser.add_subparsers()
|
||||
@@ -92,6 +92,12 @@ if __name__ == '__main__':
|
||||
scale_down.add_argument('network', help='Network to scale')
|
||||
scale_down.set_defaults(command='scale_down')
|
||||
|
||||
return parser
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = parser()
|
||||
complete(sys.argv, parser)
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user