From 6f2b6cccbda6b3cd7ec5e0d5ba8ebf23d7c53419 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Thu, 21 Nov 2024 07:14:36 +0100 Subject: Add upload cookie files --- g4f/gui/server/backend.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'g4f/gui/server') diff --git a/g4f/gui/server/backend.py b/g4f/gui/server/backend.py index 87da49e1..fe020bb8 100644 --- a/g4f/gui/server/backend.py +++ b/g4f/gui/server/backend.py @@ -1,12 +1,15 @@ import json import asyncio import flask +import os from flask import request, Flask from typing import AsyncGenerator, Generator +from werkzeug.utils import secure_filename from g4f.image import is_allowed_extension, to_image from g4f.client.service import convert_to_provider from g4f.errors import ProviderNotFoundError +from g4f.cookies import get_cookies_dir from .api import Api def safe_iter_generator(generator: Generator) -> Generator: @@ -79,8 +82,8 @@ class Backend_Api(Api): 'function': self.handle_synthesize, 'methods': ['GET'] }, - '/backend-api/v2/error': { - 'function': self.handle_error, + '/backend-api/v2/upload_cookies': { + 'function': self.upload_cookies, 'methods': ['POST'] }, '/images/': { @@ -89,15 +92,17 @@ class Backend_Api(Api): } } - def handle_error(self): - """ - Initialize the backend API with the given Flask application. - - Args: - app (Flask): Flask application instance to attach routes to. - """ - print(request.json) - return 'ok', 200 + def upload_cookies(self): + file = None + if "file" in request.files: + file = request.files['file'] + if file.filename == '': + return 'No selected file', 400 + if file and file.filename.endswith(".json") or file.filename.endswith(".har"): + filename = secure_filename(file.filename) + file.save(os.path.join(get_cookies_dir(), filename)) + return "File saved", 200 + return 'Not supported file', 400 def handle_conversation(self): """ -- cgit v1.2.3