mirror of https://github.com/xtekky/gpt4free.git
Update Gemini.py
This commit is contained in:
parent
1baca306c4
commit
674ba8f2c5
|
@ -19,6 +19,7 @@ except ImportError:
|
|||
from ...typing import Messages, Cookies, ImageType, AsyncResult
|
||||
from ..base_provider import AsyncGeneratorProvider
|
||||
from ..helper import format_prompt, get_cookies
|
||||
from requests.raise_for_status import raise_for_status
|
||||
from ...errors import MissingAuthError, MissingRequirementsError
|
||||
from ...image import to_bytes, ImageResponse
|
||||
from ...webdriver import get_browser, get_driver_cookies
|
||||
|
@ -128,6 +129,7 @@ class Gemini(AsyncGeneratorProvider):
|
|||
data=data,
|
||||
params=params,
|
||||
) as response:
|
||||
await raise_for_status(response)
|
||||
response = await response.text()
|
||||
response_part = json.loads(json.loads(response.splitlines()[-5])[0][2])
|
||||
if response_part[4] is None:
|
||||
|
@ -185,7 +187,7 @@ class Gemini(AsyncGeneratorProvider):
|
|||
connector=connector
|
||||
) as session:
|
||||
async with session.options(UPLOAD_IMAGE_URL) as reponse:
|
||||
reponse.raise_for_status()
|
||||
await raise_for_status(response)
|
||||
|
||||
headers = {
|
||||
"size": str(len(image)),
|
||||
|
@ -195,23 +197,24 @@ class Gemini(AsyncGeneratorProvider):
|
|||
async with session.post(
|
||||
UPLOAD_IMAGE_URL, headers=headers, data=data
|
||||
) as response:
|
||||
response.raise_for_status()
|
||||
await raise_for_status(response)
|
||||
upload_url = response.headers["X-Goog-Upload-Url"]
|
||||
|
||||
async with session.options(upload_url, headers=headers) as response:
|
||||
response.raise_for_status()
|
||||
await raise_for_status(response)
|
||||
|
||||
headers["x-goog-upload-command"] = "upload, finalize"
|
||||
headers["X-Goog-Upload-Offset"] = "0"
|
||||
async with session.post(
|
||||
upload_url, headers=headers, data=image
|
||||
) as response:
|
||||
response.raise_for_status()
|
||||
await raise_for_status(response)
|
||||
return await response.text()
|
||||
|
||||
@classmethod
|
||||
async def fetch_snlm0e(cls, session: ClientSession, cookies: Cookies):
|
||||
async with session.get(cls.url, cookies=cookies) as response:
|
||||
await raise_for_status(response)
|
||||
text = await response.text()
|
||||
match = re.search(r'SNlM0e\":\"(.*?)\"', text)
|
||||
if match:
|
||||
|
|
Loading…
Reference in New Issue