refactor(book_service): 重构书籍服务以使用Pathlib路径处理

- 移除os模块导入,改用pathlib.Path进行路径操作
- 添加find_project_root工具函数用于查找项目根目录
- 将文件夹创建方法重构为使用Path对象的create_folder函数
- 更新下载路径构建方式,使用pathlib路径拼接替代os.path.join
- 优化download_file方法,改进异常处理和内容类型检查逻辑
- 修改get_post_date方法为静态方法,提升代码结构清晰度
This commit is contained in:
2026-05-12 13:38:37 +08:00
parent 1128518642
commit 74fb9698cd
2 changed files with 46 additions and 32 deletions
+9 -1
View File
@@ -2,6 +2,7 @@ import json
import time
import ctypes
from collections import defaultdict
from pathlib import Path
from typing import List
from datetime import datetime
from functools import cmp_to_key
@@ -103,4 +104,11 @@ def to_json_serializable(obj):
if isinstance(obj, set):
return list(obj) # 集合转列表
# 其他基本类型(str, int, float, list, tuple, None)直接返回
return obj
return obj
def find_project_root(marker_files=('requirements.txt', 'run.py')):
current = Path(__file__).resolve().parent
for parent in current.parents:
if any((parent / marker).exists() for marker in marker_files):
return parent
return current # 没找到则返回当前文件所在目录