Spaces:
Running
Running
import type { FileData } from "@gradio/client"; | |
export const prettyBytes = (bytes: number): string => { | |
let units = ["B", "KB", "MB", "GB", "PB"]; | |
let i = 0; | |
while (bytes > 1024) { | |
bytes /= 1024; | |
i++; | |
} | |
let unit = units[i]; | |
return bytes.toFixed(1) + " " + unit; | |
}; | |
export const display_file_name = (value: FileData): string => { | |
var str: string; | |
str = value.orig_name; | |
const max_length = 30; | |
if (str.length > max_length) { | |
const truncated_name = str.substring(0, max_length); | |
const file_extension_index = str.lastIndexOf("."); | |
if (file_extension_index !== -1) { | |
const file_extension = str.slice(file_extension_index); | |
return `${truncated_name}..${file_extension}`; | |
} | |
return truncated_name; | |
} | |
return str; | |
}; | |
export const display_file_size = (value: FileData | FileData[]): string => { | |
var total_size = 0; | |
if (Array.isArray(value)) { | |
for (var file of value) { | |
if (file.size !== undefined) total_size += file.size; | |
} | |
} else { | |
total_size = value.size || 0; | |
} | |
return prettyBytes(total_size); | |
}; | |