52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
import os
|
|
|
|
def format_file_size(size_bytes):
|
|
"""将字节大小转换为可读性更好的格式"""
|
|
if size_bytes == 0:
|
|
return "0 B"
|
|
|
|
size_names = ["B", "KB", "MB", "GB", "TB"]
|
|
i = 0
|
|
while size_bytes >= 1024 and i < len(size_names) - 1:
|
|
size_bytes /= 1024.0
|
|
i += 1
|
|
|
|
return f"{size_bytes:.1f} {size_names[i]}"
|
|
|
|
def format_status(status):
|
|
"""将状态代码转换为中文描述"""
|
|
status_map = {
|
|
'uploading': '做种中',
|
|
'downloading': '下载中',
|
|
'paused': '已暂停',
|
|
'checking': '检查中',
|
|
'error': '错误',
|
|
'completed': '已完成',
|
|
'stalledUP': '做种中(空闲)',
|
|
'stalledDL': '下载中(空闲)',
|
|
'queuedUP': '队列做种',
|
|
'queuedDL': '队列下载',
|
|
'forcedUP': '强制做种',
|
|
'forcedDL': '强制下载',
|
|
'missingFiles': '文件缺失',
|
|
'allocating': '分配中',
|
|
'metaDL': '获取元数据',
|
|
'moving': '移动中',
|
|
'unknown': '未知'
|
|
}
|
|
|
|
# Transmission状态码映射
|
|
transmission_status_map = {
|
|
0: '已暂停',
|
|
1: '等待校验',
|
|
2: '正在校验',
|
|
3: '等待下载',
|
|
4: '下载中',
|
|
5: '等待做种',
|
|
6: '做种中'
|
|
}
|
|
|
|
if isinstance(status, int):
|
|
return transmission_status_map.get(status, '未知')
|
|
else:
|
|
return status_map.get(status, status) |