Spaces:
Runtime error
Runtime error
import json | |
import subprocess | |
def get_readable_time(seconds: int) -> str: | |
count = 0 | |
ping_time = "" | |
time_list = [] | |
time_suffix_list = ["s", "ᴍ", "ʜ", "ᴅᴀʏs"] | |
while count < 4: | |
count += 1 | |
if count < 3: | |
remainder, result = divmod(seconds, 60) | |
else: | |
remainder, result = divmod(seconds, 24) | |
if seconds == 0 and remainder == 0: | |
break | |
time_list.append(int(result)) | |
seconds = int(remainder) | |
for i in range(len(time_list)): | |
time_list[i] = str(time_list[i]) + time_suffix_list[i] | |
if len(time_list) == 4: | |
ping_time += time_list.pop() + ", " | |
time_list.reverse() | |
ping_time += ":".join(time_list) | |
return ping_time | |
def convert_bytes(size: float) -> str: | |
"""humanize size""" | |
if not size: | |
return "" | |
power = 1024 | |
t_n = 0 | |
power_dict = {0: " ", 1: "Ki", 2: "Mi", 3: "Gi", 4: "Ti"} | |
while size > power: | |
size /= power | |
t_n += 1 | |
return "{:.2f} {}B".format(size, power_dict[t_n]) | |
async def int_to_alpha(user_id: int) -> str: | |
alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"] | |
text = "" | |
user_id = str(user_id) | |
for i in user_id: | |
text += alphabet[int(i)] | |
return text | |
async def alpha_to_int(user_id_alphabet: str) -> int: | |
alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"] | |
user_id = "" | |
for i in user_id_alphabet: | |
index = alphabet.index(i) | |
user_id += str(index) | |
user_id = int(user_id) | |
return user_id | |
def time_to_seconds(time): | |
stringt = str(time) | |
return sum(int(x) * 60**i for i, x in enumerate(reversed(stringt.split(":")))) | |
def seconds_to_min(seconds): | |
if seconds is not None: | |
seconds = int(seconds) | |
d, h, m, s = ( | |
seconds // (3600 * 24), | |
seconds // 3600 % 24, | |
seconds % 3600 // 60, | |
seconds % 3600 % 60, | |
) | |
if d > 0: | |
return "{:02d}:{:02d}:{:02d}:{:02d}".format(d, h, m, s) | |
elif h > 0: | |
return "{:02d}:{:02d}:{:02d}".format(h, m, s) | |
elif m > 0: | |
return "{:02d}:{:02d}".format(m, s) | |
elif s > 0: | |
return "00:{:02d}".format(s) | |
return "-" | |
def speed_converter(seconds, speed): | |
if str(speed) == str("0.5"): | |
seconds = seconds * 2 | |
if str(speed) == str("0.75"): | |
seconds = seconds + ((50 * seconds) // 100) | |
if str(speed) == str("1.5"): | |
seconds = seconds - ((25 * seconds) // 100) | |
if str(speed) == str("2.0"): | |
seconds = seconds - ((50 * seconds) // 100) | |
collect = seconds | |
if seconds is not None: | |
seconds = int(seconds) | |
d, h, m, s = ( | |
seconds // (3600 * 24), | |
seconds // 3600 % 24, | |
seconds % 3600 // 60, | |
seconds % 3600 % 60, | |
) | |
if d > 0: | |
convert = "{:02d}:{:02d}:{:02d}:{:02d}".format(d, h, m, s) | |
return convert, collect | |
elif h > 0: | |
convert = "{:02d}:{:02d}:{:02d}".format(h, m, s) | |
return convert, collect | |
elif m > 0: | |
convert = "{:02d}:{:02d}".format(m, s) | |
return convert, collect | |
elif s > 0: | |
convert = "00:{:02d}".format(s) | |
return convert, collect | |
return "-" | |
def check_duration(file_path): | |
command = [ | |
"ffprobe", | |
"-loglevel", | |
"quiet", | |
"-print_format", | |
"json", | |
"-show_format", | |
"-show_streams", | |
file_path, | |
] | |
pipe = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) | |
out, err = pipe.communicate() | |
_json = json.loads(out) | |
if "format" in _json: | |
if "duration" in _json["format"]: | |
return float(_json["format"]["duration"]) | |
if "streams" in _json: | |
for s in _json["streams"]: | |
if "duration" in s: | |
return float(s["duration"]) | |
return "Unknown" | |
formats = [ | |
"webm", | |
"mkv", | |
"flv", | |
"vob", | |
"ogv", | |
"ogg", | |
"rrc", | |
"gifv", | |
"mng", | |
"mov", | |
"avi", | |
"qt", | |
"wmv", | |
"yuv", | |
"rm", | |
"asf", | |
"amv", | |
"mp4", | |
"m4p", | |
"m4v", | |
"mpg", | |
"mp2", | |
"mpeg", | |
"mpe", | |
"mpv", | |
"m4v", | |
"svi", | |
"3gp", | |
"3g2", | |
"mxf", | |
"roq", | |
"nsv", | |
"flv", | |
"f4v", | |
"f4p", | |
"f4a", | |
"f4b", | |
] | |