-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathformat.py
More file actions
33 lines (30 loc) · 864 Bytes
/
format.py
File metadata and controls
33 lines (30 loc) · 864 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def format_duration(seconds):
if seconds is None:
return "Unknown"
m, s = divmod(seconds, 60)
h, m = divmod(m, 60)
if h > 0:
return f"{h}:{m:02}:{s:02}"
return f"{m}:{s:02}"
def format_views(views):
if views is None:
return "Unknown"
elif views >= 1_000_000:
return f"{views / 1_000_000:.1f}M"
elif views >= 1_000:
return f"{views / 1_000:.1f}K"
return str(views)
def format_filesize(size):
if size > 0:
if size >= 1024 ** 3:
size_str = f"{size / (1024 ** 3):.2f} GB"
return size_str
elif size >= 1024 ** 2:
size_str = f"{size / (1024 ** 2):.2f} MB"
return size_str
else:
size_str = f"{size / 1024:.2f} KB"
return size_str
else:
size_str = "Unknown"
return size_str