add prompting
This commit is contained in:
parent
a6d58ebf6b
commit
2bb1e2dccb
9 changed files with 277 additions and 48 deletions
tgbot/shit
35
tgbot/shit/custom_argparser.py
Normal file
35
tgbot/shit/custom_argparser.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
import argparse
|
||||
import io
|
||||
|
||||
|
||||
class CustomArgParser(argparse.ArgumentParser):
|
||||
def __init__(
|
||||
self,
|
||||
*args, **kwargs,
|
||||
):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.help_message = None
|
||||
|
||||
def print_help(self, file=None):
|
||||
# Store the help message in a buffer instead of printing
|
||||
if file is None:
|
||||
help_buffer = io.StringIO()
|
||||
super().print_help(file=help_buffer)
|
||||
self.help_message = help_buffer.getvalue()
|
||||
help_buffer.close()
|
||||
else:
|
||||
super().print_help(file=file)
|
||||
|
||||
def parse_args(self, args=None, namespace=None):
|
||||
# Check for --help manually to avoid stdout output
|
||||
if '--help' in args:
|
||||
self.print_help()
|
||||
raise RuntimeError("Help requested")
|
||||
return super().parse_args(args, namespace)
|
||||
|
||||
def exit(self, status=0, message=None):
|
||||
raise RuntimeError(message)
|
||||
|
||||
def error(self, message):
|
||||
raise RuntimeError(f"Error: {message}")
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue