XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

Use tempfile if cookies dir is not writeable

986c48bf
hlohaus <983577+hlohaus@users.noreply.github.com>
提交于

代码差异

2 个文件 +6 -13
Modified g4f/gui/server/website.py +5 -9
@@ -2,7 +2,6 @@ from __future__ import annotations
2 2
3 3 import os
4 4 import requests
5 import tempfile
6 5 from datetime import datetime
7 6 from flask import send_from_directory, redirect
8 7
@@ -26,11 +25,10 @@ def render(filename = "chat"):
26 25 today = datetime.today().strftime('%Y-%m-%d')
27 26 cache_dir = os.path.join(get_cookies_dir(), ".gui_cache")
28 27 cache_file = os.path.join(cache_dir, f"{filename}.{today}.{secure_filename(f'{version.utils.current_version}-{latest_version}')}.html")
29 is_tempfile = False
28 is_temp = False
30 29 if not os.path.exists(cache_file):
31 30 if os.access(cache_file, os.W_OK):
32 cache_file = tempfile.NamedTemporaryFile(suffix=".html", delete=False).name
33 is_tempfile = True
31 is_temp = True
34 32 else:
35 33 os.makedirs(cache_dir, exist_ok=True)
36 34 response = requests.get(f"{DOWNLOAD_URL}{filename}.html")
@@ -48,13 +46,11 @@ def render(filename = "chat"):
48 46 html = response.text
49 47 html = html.replace("../dist/", f"dist/")
50 48 html = html.replace("\"dist/", f"\"{STATIC_URL}dist/")
49 if is_temp:
50 return html
51 51 with open(cache_file, 'w', encoding='utf-8') as f:
52 52 f.write(html)
53 try:
54 return send_from_directory(os.path.abspath(cache_dir), os.path.basename(cache_file))
55 finally:
56 if is_tempfile:
57 os.unlink(cache_file)
53 return send_from_directory(os.path.abspath(cache_dir), os.path.basename(cache_file))
58 54
59 55 class Website:
60 56 def __init__(self, app) -> None:
Modified g4f/tools/run_tools.py +1 -4
@@ -130,10 +130,7 @@ class AuthManager:
130 130
131 131 @staticmethod
132 132 def load_api_key(provider: Any) -> Optional[str]:
133 """Load API key from config file if needed"""
134 if not getattr(provider, "needs_auth", False):
135 return None
136
133 """Load API key from config file"""
137 134 auth_file = AuthManager.get_api_key_file(provider)
138 135 try:
139 136 if auth_file.exists():