Files
Nexusphp-Panel/utils/format.py
DengDai ad2c65affb init
2025-12-08 14:31:21 +08:00

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)