Spaces:
Running
Running
| import os | |
| import shutil | |
| import stat | |
| import time | |
| import uuid | |
| def setup_workspace(folder): | |
| request_id = str(uuid.uuid4()) | |
| os.makedirs(folder, exist_ok=True) | |
| working_dir = os.path.join(folder, request_id) | |
| os.makedirs(working_dir, exist_ok=True) | |
| log_dir = os.path.join(folder, "logs") | |
| os.makedirs(log_dir, exist_ok=True) | |
| log_file = os.path.join(log_dir, f"{request_id}.log") | |
| return log_file, working_dir | |
| def cleanup_workspace(working_dir): | |
| if not os.path.exists(working_dir): | |
| return | |
| st = os.stat(working_dir) | |
| os.chmod(working_dir, st.st_mode | stat.S_IWRITE) | |
| time.sleep(0.5) | |
| try: | |
| shutil.rmtree(working_dir) | |
| except Exception: | |
| pass | |