Spaces:
Build error
Build error
| import argparse | |
| import sys | |
| def read_input(cli_multiline_input: bool = False) -> str: | |
| """Read input from user based on config settings.""" | |
| if cli_multiline_input: | |
| print('Enter your message (enter "/exit" on a new line to finish):') | |
| lines = [] | |
| while True: | |
| line = input('>> ').rstrip() | |
| if line == '/exit': # finish input | |
| break | |
| lines.append(line) | |
| return '\n'.join(lines) | |
| else: | |
| return input('>> ').rstrip() | |
| def read_task_from_file(file_path: str) -> str: | |
| """Read task from the specified file.""" | |
| with open(file_path, 'r', encoding='utf-8') as file: | |
| return file.read() | |
| def read_task(args: argparse.Namespace, cli_multiline_input: bool) -> str: | |
| """ | |
| Read the task from the CLI args, file, or stdin. | |
| """ | |
| # Determine the task | |
| task_str = '' | |
| if args.file: | |
| task_str = read_task_from_file(args.file) | |
| elif args.task: | |
| task_str = args.task | |
| elif not sys.stdin.isatty(): | |
| task_str = read_input(cli_multiline_input) | |
| return task_str | |