Show file sizes in list
Include mp3 size display in API responses and render it in the list; remove obsolete Apache config.
This commit is contained in:
@@ -64,6 +64,23 @@ def ensure_resources_dir():
|
||||
RESOURCES_DIR.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
|
||||
def format_size(bytes_size: int) -> str:
|
||||
if bytes_size < 1024:
|
||||
return f"{bytes_size}B"
|
||||
if bytes_size < 1024 * 1024:
|
||||
return f"{bytes_size / 1024:.1f}KB"
|
||||
return f"{bytes_size / (1024 * 1024):.1f}MB"
|
||||
|
||||
|
||||
def get_file_size_display(filename: str | None) -> str | None:
|
||||
if not filename:
|
||||
return None
|
||||
file_path = RESOURCES_DIR / filename
|
||||
if not file_path.exists():
|
||||
return None
|
||||
return format_size(file_path.stat().st_size)
|
||||
|
||||
|
||||
@app.on_event("startup")
|
||||
def on_startup():
|
||||
ensure_resources_dir()
|
||||
@@ -84,6 +101,7 @@ def api_list_tts():
|
||||
"created_at": row["created_at"].isoformat(),
|
||||
"display_time": format_display_time(row["created_at"]),
|
||||
"filename": row["filename"],
|
||||
"size_display": get_file_size_display(row["filename"]),
|
||||
}
|
||||
for row in rows
|
||||
]
|
||||
@@ -117,6 +135,7 @@ def api_create_tts(payload: TtsCreateRequest):
|
||||
"created_at": created_at.isoformat(),
|
||||
"display_time": format_display_time(created_at),
|
||||
"filename": filename,
|
||||
"size_display": get_file_size_display(filename),
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user