Spaces:
Running
Running
| import streamlit as st | |
| import os | |
| import shutil | |
| from loguru import logger | |
| from app.utils.utils import storage_dir | |
| def clear_directory(dir_path, tr): | |
| """清理指定目录""" | |
| if os.path.exists(dir_path): | |
| try: | |
| for item in os.listdir(dir_path): | |
| item_path = os.path.join(dir_path, item) | |
| try: | |
| if os.path.isfile(item_path): | |
| os.unlink(item_path) | |
| elif os.path.isdir(item_path): | |
| shutil.rmtree(item_path) | |
| except Exception as e: | |
| logger.error(f"Failed to delete {item_path}: {e}") | |
| st.success(tr("Directory cleared")) | |
| logger.info(f"Cleared directory: {dir_path}") | |
| except Exception as e: | |
| st.error(f"{tr('Failed to clear directory')}: {str(e)}") | |
| logger.error(f"Failed to clear directory {dir_path}: {e}") | |
| else: | |
| st.warning(tr("Directory does not exist")) | |
| def render_system_panel(tr): | |
| """渲染系统设置面板""" | |
| with st.expander(tr("System settings"), expanded=False): | |
| col1, col2, col3 = st.columns(3) | |
| with col1: | |
| if st.button(tr("Clear frames"), use_container_width=True): | |
| clear_directory(os.path.join(storage_dir(), "temp/keyframes"), tr) | |
| with col2: | |
| if st.button(tr("Clear clip videos"), use_container_width=True): | |
| clear_directory(os.path.join(storage_dir(), "temp/clip_video"), tr) | |
| with col3: | |
| if st.button(tr("Clear tasks"), use_container_width=True): | |
| clear_directory(os.path.join(storage_dir(), "tasks"), tr) | |