From c8149b0415bc4551117dd1df51a479c6c54a7852 Mon Sep 17 00:00:00 2001 From: 0xcha05 <103983696+0xcha05@users.noreply.github.com> Date: Mon, 3 Apr 2023 19:56:01 +0530 Subject: [PATCH] better arg parsing --- README.md | 6 ++++-- scripts/main.py | 34 +++++++++++++++++++--------------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index f576fd5a..769ea766 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,8 @@ python scripts/main.py ## 🗣️ Speech Mode Use this to use TTS for Auto-GPT ``` -python scripts/main.py speak-mode +python scripts/main.py --speak + ``` ## 💀 Continuous Mode ⚠️ @@ -107,7 +108,8 @@ Use at your own risk. 1. Run the `main.py` Python script in your terminal: ``` -python scripts/main.py continuous-mode +python scripts/main.py --continuous + ``` 2. To exit the program, press Ctrl + C diff --git a/scripts/main.py b/scripts/main.py index 48093cf4..1ccd0364 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -15,10 +15,8 @@ from json_parser import fix_and_parse_json from ai_config import AIConfig import traceback import yaml +import argparse -class Argument(Enum): - CONTINUOUS_MODE = "continuous-mode" - SPEAK_MODE = "speak-mode" def print_to_console( title, @@ -251,21 +249,27 @@ def parse_arguments(): global cfg cfg.set_continuous_mode(False) cfg.set_speak_mode(False) - for arg in sys.argv[1:]: - if arg == Argument.CONTINUOUS_MODE.value: - print_to_console("Continuous Mode: ", Fore.RED, "ENABLED") - print_to_console( - "WARNING: ", - Fore.RED, - "Continuous mode is not recommended. It is potentially dangerous and may cause your AI to run forever or carry out actions you would not usually authorise. Use at your own risk.") - cfg.set_continuous_mode(True) - elif arg == Argument.SPEAK_MODE.value: - print_to_console("Speak Mode: ", Fore.GREEN, "ENABLED") - cfg.set_speak_mode(True) + + parser = argparse.ArgumentParser(description='Process arguments.') + parser.add_argument('--continuous', action='store_true', help='Enable Continuous Mode') + parser.add_argument('--speak', action='store_true', help='Enable Speak Mode') + args = parser.parse_args() + + if args.continuous: + print_to_console("Continuous Mode: ", Fore.RED, "ENABLED") + print_to_console( + "WARNING: ", + Fore.RED, + "Continuous mode is not recommended. It is potentially dangerous and may cause your AI to run forever or carry out actions you would not usually authorise. Use at your own risk.") + cfg.set_continuous_mode(True) + + if args.speak: + print_to_console("Speak Mode: ", Fore.GREEN, "ENABLED") + cfg.set_speak_mode(True) + -# TODO: Better argument parsing: # TODO: fill in llm values here cfg = Config()