您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

49 行
1.2 KiB

import argparse
import os
import streamlit.bootstrap
cli = argparse.ArgumentParser()
subparsers = cli.add_subparsers(dest="subcommand")
def argument(*name_or_flags, **kwargs):
return ([*name_or_flags], kwargs)
def subcommand(args=[], parent=subparsers):
def decorator(func):
parser = parent.add_parser(func.__name__, description=func.__doc__)
for arg in args:
parser.add_argument(*arg[0], **arg[1])
parser.set_defaults(func=func)
return decorator
@subcommand(
[argument("--data", type=str, help="The path to the main perception data folder.")]
)
def preview(args):
"""Previews the dataset in a streamlit app."""
dirname = os.path.dirname(__file__)
filename = os.path.join(dirname, "preview.py")
if args.data is None:
print("Data directory not specified!")
else:
args = [args.data]
# _config.set_option("server.headless", True)
streamlit.bootstrap.run(filename, "", args)
def main():
print('reached-main')
args = cli.parse_args()
if args.subcommand is None:
cli.print_help()
else:
args.func(args)
if __name__ == "__main__":
main()