AutoGPT / ui /utils.py
Nymbo's picture
Duplicate from aliabid94/AutoGPT
01d4031
import os
import re
def format_directory(directory):
output = []
def helper(directory, level, output):
files = os.listdir(directory)
for i, item in enumerate(files):
is_folder = os.path.isdir(os.path.join(directory, item))
joiner = "β”œβ”€β”€ " if i < len(files) - 1 else "└── "
item_html = item + "/" if is_folder else f"<a href='file={os.path.join(directory, item)}'>{item}</a>"
output.append("β”‚ " * level + joiner + item_html)
if is_folder:
helper(os.path.join(directory, item), level + 1, output)
output.append(os.path.basename(directory) + "/")
helper(directory, 1, output)
return "\n".join(output)
DOWNLOAD_OUTPUTS_JS = """
() => {
const a = document.createElement('a');
a.href = 'file=outputs.zip';
a.download = 'outputs.zip';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}"""
def remove_color(text):
ansi_escape = re.compile(r'\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])')
return ansi_escape.sub('', text)