Add file type icons, enhance bucket date format, fix metadata display bug

This commit is contained in:
2026-01-16 13:18:06 +08:00
parent f5d2e1c488
commit a3b9db544c
5 changed files with 75 additions and 8 deletions

View File

@@ -63,13 +63,14 @@ def _convert_to_display_tz(dt: datetime, display_tz: str | None = None) -> datet
def _format_datetime_display(dt: datetime, display_tz: str | None = None) -> str:
"""Format a datetime for display using the configured timezone.
Args:
dt: The datetime to format
display_tz: Optional timezone string. If not provided, reads from current_app.config.
"""
dt = _convert_to_display_tz(dt, display_tz)
return dt.strftime("%b %d, %Y %H:%M")
tz_abbr = dt.strftime("%Z") or "UTC"
return f"{dt.strftime('%b %d, %Y %H:%M')} ({tz_abbr})"
def _format_datetime_iso(dt: datetime, display_tz: str | None = None) -> str:
@@ -558,6 +559,11 @@ def list_bucket_objects(bucket_name: str):
objects_data = []
for obj in result.objects:
metadata = {}
try:
metadata = storage.get_object_metadata(bucket_name, obj.key)
except Exception:
pass
objects_data.append({
"key": obj.key,
"size": obj.size,
@@ -565,6 +571,7 @@ def list_bucket_objects(bucket_name: str):
"last_modified_display": _format_datetime_display(obj.last_modified),
"last_modified_iso": _format_datetime_iso(obj.last_modified),
"etag": obj.etag,
"metadata": metadata,
})
return jsonify({
@@ -657,6 +664,11 @@ def stream_bucket_objects(bucket_name: str):
yield json.dumps({"type": "count", "total_count": total_count}) + "\n"
for obj in result.objects:
metadata = {}
try:
metadata = storage.get_object_metadata(bucket_name, obj.key)
except Exception:
pass
yield json.dumps({
"type": "object",
"key": obj.key,
@@ -665,6 +677,7 @@ def stream_bucket_objects(bucket_name: str):
"last_modified_display": _format_datetime_display(obj.last_modified, display_tz),
"last_modified_iso": _format_datetime_iso(obj.last_modified, display_tz),
"etag": obj.etag,
"metadata": metadata,
}) + "\n"
if not result.is_truncated: