855 协议版本-调整完毕内容
This commit is contained in:
+10
-10
@@ -3,7 +3,7 @@ import requests
|
||||
import uuid
|
||||
from typing import Optional
|
||||
from urllib.parse import urlparse
|
||||
import logging
|
||||
from loguru import logger
|
||||
import time
|
||||
|
||||
class MediaDownloader:
|
||||
@@ -16,13 +16,13 @@ class MediaDownloader:
|
||||
Args:
|
||||
download_dir: 下载目录,默认为项目下的 media_downloads 目录
|
||||
"""
|
||||
self.logger = logging.getLogger("MediaDownloader")
|
||||
self.LOG = logger
|
||||
self.download_dir = download_dir or os.path.join(
|
||||
os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
|
||||
"media_downloads"
|
||||
)
|
||||
os.makedirs(self.download_dir, exist_ok=True)
|
||||
self.logger.info(f"媒体下载目录: {self.download_dir}")
|
||||
self.LOG.info(f"媒体下载目录: {self.download_dir}")
|
||||
|
||||
def download_media(self, url: str, file_type: str = None) -> Optional[str]:
|
||||
"""
|
||||
@@ -47,7 +47,7 @@ class MediaDownloader:
|
||||
|
||||
local_path = os.path.join(self.download_dir, filename)
|
||||
|
||||
self.logger.info(f"开始下载媒体文件: {url} -> {local_path}")
|
||||
self.LOG.info(f"开始下载媒体文件: {url} -> {local_path}")
|
||||
|
||||
# 下载文件
|
||||
response = requests.get(url, stream=True, timeout=30)
|
||||
@@ -58,7 +58,7 @@ class MediaDownloader:
|
||||
if chunk:
|
||||
f.write(chunk)
|
||||
|
||||
self.logger.info(f"媒体文件下载成功: {local_path}")
|
||||
self.LOG.info(f"媒体文件下载成功: {local_path}")
|
||||
|
||||
# 下载成功后清理旧文件
|
||||
self.clear_downloads()
|
||||
@@ -66,7 +66,7 @@ class MediaDownloader:
|
||||
return os.path.abspath(local_path)
|
||||
|
||||
except Exception as e:
|
||||
self.logger.error(f"下载媒体文件失败: {url}, 错误: {str(e)}")
|
||||
self.LOG.error(f"下载媒体文件失败: {url}, 错误: {str(e)}")
|
||||
return None
|
||||
|
||||
def _guess_file_type(self, url: str) -> Optional[str]:
|
||||
@@ -138,12 +138,12 @@ class MediaDownloader:
|
||||
try:
|
||||
os.remove(file_path)
|
||||
cleared_count += 1
|
||||
self.logger.debug(f"已删除过期文件: {file_path}")
|
||||
self.LOG.debug(f"已删除过期文件: {file_path}")
|
||||
except Exception as e:
|
||||
self.logger.error(f"删除文件失败 {file_path}: {str(e)}")
|
||||
self.LOG.error(f"删除文件失败 {file_path}: {str(e)}")
|
||||
|
||||
if cleared_count > 0:
|
||||
self.logger.info(f"清理完成,共删除 {cleared_count} 个过期文件")
|
||||
self.LOG.info(f"清理完成,共删除 {cleared_count} 个过期文件")
|
||||
|
||||
except Exception as e:
|
||||
self.logger.error(f"清理下载文件时出错: {str(e)}")
|
||||
self.LOG.error(f"清理下载文件时出错: {str(e)}")
|
||||
Reference in New Issue
Block a user