68 lines
2.1 KiB
Python
68 lines
2.1 KiB
Python
|
|
from datetime import datetime
|
||
|
|
|
||
|
|
|
||
|
|
def formatSize(size):
|
||
|
|
"""格式化文件大小"""
|
||
|
|
for unit in ["B", "KB", "MB", "GB", "TB"]:
|
||
|
|
if size < 1024:
|
||
|
|
return f"{size:.2f} {unit}"
|
||
|
|
size /= 1024
|
||
|
|
return f"{size:.2f} PB"
|
||
|
|
|
||
|
|
|
||
|
|
def formatDate(date_str):
|
||
|
|
"""格式化日期时间"""
|
||
|
|
try:
|
||
|
|
# 处理带小数秒的情况
|
||
|
|
if "." in date_str:
|
||
|
|
# 分割日期和小数秒部分
|
||
|
|
date_part, fractional_part = date_str.split(".", 1)
|
||
|
|
# 去除末尾的'Z'并截取前6位小数
|
||
|
|
fractional_sec = fractional_part.rstrip("Z")[:6]
|
||
|
|
# 重新组合日期字符串
|
||
|
|
normalized_date_str = f"{date_part}.{fractional_sec}Z"
|
||
|
|
date_time = datetime.strptime(normalized_date_str, "%Y-%m-%dT%H:%M:%S.%fZ")
|
||
|
|
else:
|
||
|
|
# 处理没有小数秒的情况
|
||
|
|
date_time = datetime.strptime(date_str, "%Y-%m-%dT%H:%M:%SZ")
|
||
|
|
except ValueError:
|
||
|
|
# 如果所有格式都失败,返回原始字符串
|
||
|
|
return date_str
|
||
|
|
|
||
|
|
return date_time.strftime("%Y-%m-%d %H:%M:%S")
|
||
|
|
|
||
|
|
|
||
|
|
def getFileIcon(fileType, fileName):
|
||
|
|
if fileType == "file":
|
||
|
|
suffix = fileName.split(".")[-1].lower()
|
||
|
|
icon_map = {
|
||
|
|
"txt": "Txt.svg",
|
||
|
|
"png": "Image.svg",
|
||
|
|
"jpg": "Image.svg",
|
||
|
|
"svg": "Image.svg",
|
||
|
|
"jpeg": "Image.svg",
|
||
|
|
"bmp": "Image.svg",
|
||
|
|
"gif": "Gif.svg",
|
||
|
|
"xls": "Excel.svg",
|
||
|
|
"xlsx": "Excel.svg",
|
||
|
|
"doc": "Word.svg",
|
||
|
|
"docx": "Word.svg",
|
||
|
|
"pdf": "Pdf.svg",
|
||
|
|
"ppt": "PPT.svg",
|
||
|
|
"mp4": "Video.svg",
|
||
|
|
"mkv": "Video.svg",
|
||
|
|
"mp3": "music.svg",
|
||
|
|
"wav": "music.svg",
|
||
|
|
"zip": "Zip.svg",
|
||
|
|
"rar": "Zip.svg",
|
||
|
|
"csv": "Excel.svg",
|
||
|
|
"db": "Database.svg",
|
||
|
|
"py": "Programme.svg",
|
||
|
|
"c": "Programme.svg",
|
||
|
|
"cpp": "Programme.svg",
|
||
|
|
"go": "Programme.svg",
|
||
|
|
}
|
||
|
|
return icon_map.get(suffix, "None.svg") # 默认图标
|
||
|
|
else:
|
||
|
|
return "Folder.svg"
|