dao/dao/cli.py

56 wiersze
1.5 KiB
Python

import argparse
from . import (
core,
ERC20Facet,
ERC20Initializer,
TerminusFacet,
TerminusInitializer,
MoonstreamTokenFaucet,
)
def main():
parser = argparse.ArgumentParser(
description="dao: The command line interface to Moonstream DAO"
)
parser.set_defaults(func=lambda _: parser.print_help())
dao_subparsers = parser.add_subparsers()
core_parser = core.generate_cli()
dao_subparsers.add_parser("core", parents=[core_parser], add_help=False)
moonstream_parser = ERC20Facet.generate_cli()
dao_subparsers.add_parser("moonstream", parents=[moonstream_parser], add_help=False)
moonstream_initializer_parser = ERC20Initializer.generate_cli()
dao_subparsers.add_parser(
"moonstream-initializer",
parents=[moonstream_initializer_parser],
add_help=False,
)
terminus_parser = TerminusFacet.generate_cli()
dao_subparsers.add_parser("terminus", parents=[terminus_parser], add_help=False)
terminus_initializer_parser = TerminusInitializer.generate_cli()
dao_subparsers.add_parser(
"terminus-initializer",
parents=[terminus_initializer_parser],
add_help=False,
)
moonstream_token_faucet_parser = MoonstreamTokenFaucet.generate_cli()
dao_subparsers.add_parser(
"faucet",
parents=[moonstream_token_faucet_parser],
add_help=False,
)
args = parser.parse_args()
args.func(args)
if __name__ == "__main__":
main()