Spaces:
Paused
Paused
Update src/utils.py
Browse files- src/utils.py +22 -0
src/utils.py
CHANGED
|
@@ -7,6 +7,13 @@ import ssl
|
|
| 7 |
from urllib.parse import urlparse
|
| 8 |
from .config import Config
|
| 9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
# 初始化日志
|
| 11 |
logger = logging.getLogger("sora-api.utils")
|
| 12 |
|
|
@@ -143,6 +150,21 @@ async def download_and_save_image(image_url: str) -> str:
|
|
| 143 |
if os.path.exists(save_path):
|
| 144 |
os.remove(save_path)
|
| 145 |
return image_url
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 146 |
|
| 147 |
# 返回本地URL
|
| 148 |
# 获取文件名
|
|
|
|
| 7 |
from urllib.parse import urlparse
|
| 8 |
from .config import Config
|
| 9 |
|
| 10 |
+
# 导入上传模块
|
| 11 |
+
try:
|
| 12 |
+
from .image_uploader import upload_image
|
| 13 |
+
UPLOADER_AVAILABLE = True
|
| 14 |
+
except ImportError:
|
| 15 |
+
UPLOADER_AVAILABLE = False
|
| 16 |
+
|
| 17 |
# 初始化日志
|
| 18 |
logger = logging.getLogger("sora-api.utils")
|
| 19 |
|
|
|
|
| 150 |
if os.path.exists(save_path):
|
| 151 |
os.remove(save_path)
|
| 152 |
return image_url
|
| 153 |
+
|
| 154 |
+
# 尝试上传到PicGo或WebDAV
|
| 155 |
+
external_url = None
|
| 156 |
+
if UPLOADER_AVAILABLE:
|
| 157 |
+
try:
|
| 158 |
+
success, url = await upload_image(save_path)
|
| 159 |
+
if success and url:
|
| 160 |
+
logger.info(f"图片已上传到外部服务: {url}")
|
| 161 |
+
external_url = url
|
| 162 |
+
except Exception as e:
|
| 163 |
+
logger.error(f"上传图片到外部服务时出错: {str(e)}")
|
| 164 |
+
|
| 165 |
+
# 如果成功上传到外部服务,返回外部URL
|
| 166 |
+
if external_url:
|
| 167 |
+
return external_url
|
| 168 |
|
| 169 |
# 返回本地URL
|
| 170 |
# 获取文件名
|