summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH Lohaus <hlohaus@users.noreply.github.com>2024-01-14 16:37:21 +0100
committerGitHub <noreply@github.com>2024-01-14 16:37:21 +0100
commit42709f55b27f52048939907b34f42cfdc3537ec0 (patch)
treed7e5f2ad86beabd68fb08612b86b2a66242bf385
parentMerge pull request #1471 from xtekky/upp (diff)
downloadgpt4free-42709f55b27f52048939907b34f42cfdc3537ec0.tar
gpt4free-42709f55b27f52048939907b34f42cfdc3537ec0.tar.gz
gpt4free-42709f55b27f52048939907b34f42cfdc3537ec0.tar.bz2
gpt4free-42709f55b27f52048939907b34f42cfdc3537ec0.tar.lz
gpt4free-42709f55b27f52048939907b34f42cfdc3537ec0.tar.xz
gpt4free-42709f55b27f52048939907b34f42cfdc3537ec0.tar.zst
gpt4free-42709f55b27f52048939907b34f42cfdc3537ec0.zip
-rw-r--r--.github/workflows/unittest.yml4
-rw-r--r--etc/unittest/main.py1
-rw-r--r--g4f/Provider/helper.py14
-rw-r--r--g4f/gui/server/backend.py7
-rw-r--r--requirements.txt3
-rw-r--r--setup.py1
6 files changed, 16 insertions, 14 deletions
diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml
index 68ada22b..20d9e55f 100644
--- a/.github/workflows/unittest.yml
+++ b/.github/workflows/unittest.yml
@@ -14,6 +14,6 @@ jobs:
python-version: "3.x"
cache: 'pip'
- name: Install requirements
- - run: pip install -r requirements.txt
+ run: pip install -r requirements.txt
- name: Run tests
- - run: python -m etc.unittest.main \ No newline at end of file
+ run: python -m etc.unittest.main \ No newline at end of file
diff --git a/etc/unittest/main.py b/etc/unittest/main.py
index 61f4ffda..4b92a6a6 100644
--- a/etc/unittest/main.py
+++ b/etc/unittest/main.py
@@ -11,6 +11,7 @@ from g4f.gui.server.backend import Backend_Api, get_error_message
from g4f.base_provider import BaseProvider
g4f.debug.logging = False
+g4f.debug.version_check = False
class MockProvider(BaseProvider):
working = True
diff --git a/g4f/Provider/helper.py b/g4f/Provider/helper.py
index fce1ee6f..160074f7 100644
--- a/g4f/Provider/helper.py
+++ b/g4f/Provider/helper.py
@@ -5,7 +5,7 @@ import os
import random
import secrets
import string
-from asyncio import AbstractEventLoop, BaseEventLoop
+from asyncio import AbstractEventLoop
from platformdirs import user_config_dir
from browser_cookie3 import (
chrome, chromium, opera, opera_gx,
@@ -27,19 +27,13 @@ def get_event_loop() -> AbstractEventLoop:
AbstractEventLoop: The current or new event loop.
"""
try:
- loop = asyncio.get_event_loop()
- if isinstance(loop, BaseEventLoop):
- loop._check_closed()
- except RuntimeError:
- loop = asyncio.new_event_loop()
- asyncio.set_event_loop(loop)
- try:
- asyncio.get_running_loop()
+ loop = asyncio.get_running_loop()
if not hasattr(loop.__class__, "_nest_patched"):
import nest_asyncio
nest_asyncio.apply(loop)
except RuntimeError:
- pass
+ loop = asyncio.new_event_loop()
+ asyncio.set_event_loop(loop)
except ImportError:
raise RuntimeError(
'Use "create_async" instead of "create" function in a running event loop. Or install "nest_asyncio" package.'
diff --git a/g4f/gui/server/backend.py b/g4f/gui/server/backend.py
index 4a5cafa8..b4c8f56c 100644
--- a/g4f/gui/server/backend.py
+++ b/g4f/gui/server/backend.py
@@ -5,6 +5,7 @@ from typing import Generator
from g4f import debug, version, models
from g4f import _all_models, get_last_provider, ChatCompletion
from g4f.image import is_allowed_extension, to_image
+from g4f.errors import VersionNotFoundError
from g4f.Provider import __providers__
from g4f.Provider.bing.create_images import patch_provider
from .internet import get_search_message
@@ -91,8 +92,12 @@ class Backend_Api:
Returns:
dict: A dictionary containing the current and latest version.
"""
+ try:
+ current_version = version.utils.current_version
+ except VersionNotFoundError:
+ current_version = None
return {
- "version": version.utils.current_version,
+ "version": current_version,
"latest_version": version.get_latest_version(),
}
diff --git a/requirements.txt b/requirements.txt
index 8a751302..12a7aec8 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -20,4 +20,5 @@ asyncstdlib
async-property
undetected-chromedriver
brotli
-beautifulsoup4 \ No newline at end of file
+beautifulsoup4
+setuptools \ No newline at end of file
diff --git a/setup.py b/setup.py
index 30e037a4..34f083ee 100644
--- a/setup.py
+++ b/setup.py
@@ -32,6 +32,7 @@ install_requires = [
"undetected-chromedriver",
"brotli",
"beautifulsoup4",
+ "setuptools",
]
DESCRIPTION = (