Skip to content

Commit b3a1a36

Browse files
author
“bingtao”
committed
refactor: 提取print_files函数到公共工具模块
- 将github、tsinghua和wenshushu驱动示例中的print_files函数移除 - 在fundrive.utils.file模块中创建统一的print_files函数 - 更新各驱动示例以引用新的公共工具函数 - 版本号从2.0.52升级到2.0.53 此重构提高了代码复用性,减少了重复代码,使打印文件列表的功能更易于维护和统一。
1 parent 0508dd8 commit b3a1a36

6 files changed

Lines changed: 26 additions & 41 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "fundrive"
3-
version = "2.0.52"
3+
version = "2.0.53"
44
description = "fundrive"
55
readme = "README.md"
66
requires-python = ">=3.8"

src/fundrive/drives/github/example.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
from fundrive.core import DriveFile
3434
from funutil import getLogger
3535

36+
from fundrive.utils.file import print_files
37+
3638
logger = getLogger("fundrive.github.example")
3739

3840

src/fundrive/drives/tsinghua/example.py

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
import argparse
2828
import os
2929
import sys
30-
from typing import List
30+
31+
from fundrive.utils.file import print_files
3132

3233
# 添加项目根目录到Python路径
3334
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../../../.."))
3435

3536
from fundrive.drives.tsinghua import TSingHuaDrive
36-
from fundrive.core import DriveFile
3737

3838

3939
def print_separator(title: str = ""):
@@ -44,23 +44,6 @@ def print_separator(title: str = ""):
4444
print("=" * 60)
4545

4646

47-
def print_files(files: List[DriveFile], title: str = "文件列表"):
48-
"""打印文件列表"""
49-
print(f"\n📁 {title} (共 {len(files)} 个):")
50-
if not files:
51-
print(" (空)")
52-
return
53-
54-
for i, file in enumerate(files, 1):
55-
file_type = "📁" if file.ext.get("type") == "folder" else "📄"
56-
size_str = f"{file.size:,} bytes" if file.size > 0 else "-"
57-
print(f" {i:2d}. {file_type} {file.name}")
58-
print(f" 路径: {file.fid}")
59-
print(f" 大小: {size_str}")
60-
if file.ext.get("modified"):
61-
print(f" 修改时间: {file.ext['modified']}")
62-
63-
6447
def demo_basic_operations(drive: TSingHuaDrive):
6548
"""演示基本操作"""
6649
print_separator("基本操作演示")

src/fundrive/drives/wenshushu/example.py

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,10 @@
2525
import argparse
2626
import os
2727
import tempfile
28-
from typing import List
2928

3029

3130
from fundrive.drives.wenshushu import WSSDrive
32-
from fundrive.core import DriveFile
31+
from fundrive.utils.file import print_files
3332

3433

3534
def print_separator(title: str = ""):
@@ -40,25 +39,6 @@ def print_separator(title: str = ""):
4039
print("=" * 60)
4140

4241

43-
def print_files(files: List[DriveFile], title: str = "文件列表"):
44-
"""打印文件列表"""
45-
print(f"\n📁 {title} (共 {len(files)} 个):")
46-
if not files:
47-
print(" (空)")
48-
return
49-
50-
for i, file in enumerate(files, 1):
51-
file_type = "📁" if file.ext.get("type") == "folder" else "📄"
52-
size_str = f"{file.size:,} bytes" if file.size > 0 else "-"
53-
print(f" {i:2d}. {file_type} {file.name}")
54-
print(f" ID: {file.fid}")
55-
print(f" 大小: {size_str}")
56-
if file.ext.get("upload_time"):
57-
print(f" 上传时间: {file.ext['upload_time']}")
58-
if file.ext.get("share_url"):
59-
print(f" 分享链接: {file.ext['share_url']}")
60-
61-
6242
def create_test_file(filename: str = "test_file.txt", content: str = None) -> str:
6343
"""创建测试文件"""
6444
if content is None:

src/fundrive/utils/__init__.py

Whitespace-only changes.

src/fundrive/utils/file.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from typing import List
2+
3+
from fundrive import DriveFile
4+
5+
6+
def print_files(files: List[DriveFile], title: str = "文件列表"):
7+
"""打印文件列表"""
8+
print(f"\n📁 {title} (共 {len(files)} 个):")
9+
if not files:
10+
print(" (空)")
11+
return
12+
13+
for i, file in enumerate(files, 1):
14+
file_type = "📁" if file.ext.get("type") == "folder" else "📄"
15+
size_str = f"{file.size:,} bytes" if file.size > 0 else "-"
16+
print(f" {i:2d}. {file_type} {file.name}")
17+
print(f" 路径: {file.fid}")
18+
print(f" 大小: {size_str}")
19+
if file.ext.get("modified"):
20+
print(f" 修改时间: {file.ext['modified']}")

0 commit comments

Comments
 (0)