refactor: update cookie browsers var and LMArenaBeta availability logic

- In `g4f/Provider/needs_auth/LMArenaBeta.py`, import `has_nodriver` from `...requests` in the same line as other imports
- Change `working` attribute to be set based on `has_nodriver` instead of `True`
- Add new class attribute `active_by_default = True` to `LMArenaBeta`
- In `g4f/cli/__init__.py`, change `--cookie-browsers` argument choices to use `g4f.cookies.BROWSERS` instead of `g4f.cookies.browsers`
- In `g4f/cli/__init__.py`, update `run_api_args` to assign to `g4f.cookies.BROWSERS` instead of `g4f.cookies.browsers`
- In `g4f/gui/gui_parser.py`, change import from `browsers` to `BROWSERS`
- In `g4f/gui/gui_parser.py`, update `--cookie-browsers` argument choices to use `BROWSERS` instead of `browsers`
- In `g4f/gui/run.py`, update `run_gui_args` to assign to `g4f.cookies.BROWSERS` instead of `g4f.cookies.browsers
This commit is contained in:
hlohaus 2025-08-09 03:30:37 +02:00
parent b6f51f00d8
commit 6fad9c5d58
4 changed files with 8 additions and 8 deletions

View file

@ -7,8 +7,7 @@ import asyncio
import os import os
from ...typing import AsyncResult, Messages, MediaListType from ...typing import AsyncResult, Messages, MediaListType
from ...requests import StreamSession, get_args_from_nodriver, raise_for_status, merge_cookies from ...requests import StreamSession, get_args_from_nodriver, raise_for_status, merge_cookies, has_nodriver
from ...requests import DEFAULT_HEADERS, has_nodriver
from ...errors import ModelNotFoundError from ...errors import ModelNotFoundError
from ...providers.response import FinishReason, Usage, JsonConversation, ImageResponse from ...providers.response import FinishReason, Usage, JsonConversation, ImageResponse
from ...tools.media import merge_media from ...tools.media import merge_media
@ -122,7 +121,8 @@ class LMArenaBeta(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin):
label = "LMArena (New)" label = "LMArena (New)"
url = "https://lmarena.ai" url = "https://lmarena.ai"
api_endpoint = "https://lmarena.ai/api/stream/create-evaluation" api_endpoint = "https://lmarena.ai/api/stream/create-evaluation"
working = True working = has_nodriver
active_by_default = True
default_model = list(text_models.keys())[0] default_model = list(text_models.keys())[0]
models = list(text_models) + list(image_models) models = list(text_models) + list(image_models)

View file

@ -26,7 +26,7 @@ def get_api_parser():
api_parser.add_argument("--g4f-api-key", type=str, default=None, help="Sets an authentication key for your API. (incompatible with --reload and --workers)") api_parser.add_argument("--g4f-api-key", type=str, default=None, help="Sets an authentication key for your API. (incompatible with --reload and --workers)")
api_parser.add_argument("--ignored-providers", nargs="+", choices=[provider.__name__ for provider in Provider.__providers__ if provider.working], api_parser.add_argument("--ignored-providers", nargs="+", choices=[provider.__name__ for provider in Provider.__providers__ if provider.working],
default=[], help="List of providers to ignore when processing request. (incompatible with --reload and --workers)") default=[], help="List of providers to ignore when processing request. (incompatible with --reload and --workers)")
api_parser.add_argument("--cookie-browsers", nargs="+", choices=[browser.__name__ for browser in g4f.cookies.browsers], api_parser.add_argument("--cookie-browsers", nargs="+", choices=[browser.__name__ for browser in g4f.cookies.BROWSERS],
default=[], help="List of browsers to access or retrieve cookies from. (incompatible with --reload and --workers)") default=[], help="List of browsers to access or retrieve cookies from. (incompatible with --reload and --workers)")
api_parser.add_argument("--reload", action="store_true", help="Enable reloading.") api_parser.add_argument("--reload", action="store_true", help="Enable reloading.")
api_parser.add_argument("--demo", action="store_true", help="Enable demo mode.") api_parser.add_argument("--demo", action="store_true", help="Enable demo mode.")
@ -53,7 +53,7 @@ def run_api_args(args):
timeout=args.timeout, timeout=args.timeout,
) )
if args.cookie_browsers: if args.cookie_browsers:
g4f.cookies.browsers = [g4f.cookies[browser] for browser in args.cookie_browsers] g4f.cookies.BROWSERS = [g4f.cookies[browser] for browser in args.cookie_browsers]
run_api( run_api(
bind=args.bind, bind=args.bind,
port=args.port, port=args.port,

View file

@ -1,6 +1,6 @@
from argparse import ArgumentParser from argparse import ArgumentParser
from ..cookies import browsers from ..cookies import BROWSERS
from .. import Provider from .. import Provider
def gui_parser(): def gui_parser():
@ -11,6 +11,6 @@ def gui_parser():
parser.add_argument("--ignore-cookie-files", action="store_true", help="Don't read .har and cookie files.") parser.add_argument("--ignore-cookie-files", action="store_true", help="Don't read .har and cookie files.")
parser.add_argument("--ignored-providers", nargs="+", choices=[provider.__name__ for provider in Provider.__providers__ if provider.working], parser.add_argument("--ignored-providers", nargs="+", choices=[provider.__name__ for provider in Provider.__providers__ if provider.working],
default=[], help="List of providers to ignore when processing request. (incompatible with --reload and --workers)") default=[], help="List of providers to ignore when processing request. (incompatible with --reload and --workers)")
parser.add_argument("--cookie-browsers", nargs="+", choices=[browser.__name__ for browser in browsers], parser.add_argument("--cookie-browsers", nargs="+", choices=[browser.__name__ for browser in BROWSERS],
default=[], help="List of browsers to access or retrieve cookies from.") default=[], help="List of browsers to access or retrieve cookies from.")
return parser return parser

View file

@ -14,7 +14,7 @@ def run_gui_args(args):
host = args.host host = args.host
port = args.port port = args.port
debug = args.debug debug = args.debug
g4f.cookies.browsers = [g4f.cookies[browser] for browser in args.cookie_browsers] g4f.cookies.BROWSERS = [g4f.cookies[browser] for browser in args.cookie_browsers]
if args.ignored_providers: if args.ignored_providers:
for provider in args.ignored_providers: for provider in args.ignored_providers:
if provider in ProviderUtils.convert: if provider in ProviderUtils.convert: