summaryrefslogtreecommitdiffstats
path: root/g4f/cli.py
diff options
context:
space:
mode:
Diffstat (limited to 'g4f/cli.py')
-rw-r--r--g4f/cli.py34
1 files changed, 23 insertions, 11 deletions
diff --git a/g4f/cli.py b/g4f/cli.py
index 6b39091d..86fc2dbb 100644
--- a/g4f/cli.py
+++ b/g4f/cli.py
@@ -1,7 +1,11 @@
+from __future__ import annotations
+
import argparse
from g4f import Provider
from g4f.gui.run import gui_parser, run_gui_args
+from g4f.cookies import read_cookie_files
+from g4f import debug
def main():
parser = argparse.ArgumentParser(description="Run gpt4free")
@@ -10,28 +14,36 @@ def main():
api_parser.add_argument("--bind", default="0.0.0.0:1337", help="The bind string.")
api_parser.add_argument("--debug", action="store_true", help="Enable verbose logging.")
api_parser.add_argument("--workers", type=int, default=None, help="Number of workers.")
- api_parser.add_argument("--disable_colors", action="store_true", help="Don't use colors.")
+ api_parser.add_argument("--disable-colors", action="store_true", help="Don't use colors.")
+ api_parser.add_argument("--ignore-cookie-files", action="store_true", help="Don't read .har and cookie files.")
api_parser.add_argument("--ignored-providers", nargs="+", choices=[provider for provider in Provider.__map__],
default=[], help="List of providers to ignore when processing request.")
subparsers.add_parser("gui", parents=[gui_parser()], add_help=False)
args = parser.parse_args()
if args.mode == "api":
- import g4f.api
- g4f.api.api.set_list_ignored_providers(
- args.ignored_providers
- )
- g4f.api.run_api(
- bind=args.bind,
- debug=args.debug,
- workers=args.workers,
- use_colors=not args.disable_colors
- )
+ run_api_args(args)
elif args.mode == "gui":
run_gui_args(args)
else:
parser.print_help()
exit(1)
+def run_api_args(args):
+ if args.debug:
+ debug.logging = True
+ if not args.ignore_cookie_files:
+ read_cookie_files()
+ import g4f.api
+ g4f.api.set_list_ignored_providers(
+ args.ignored_providers
+ )
+ g4f.api.run_api(
+ bind=args.bind,
+ debug=args.debug,
+ workers=args.workers,
+ use_colors=not args.disable_colors
+ )
+
if __name__ == "__main__":
main()