first commit

This commit is contained in:
2026-04-07 16:05:05 +08:00
commit 9d9bdbb1ce
136 changed files with 5103 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
from .manager import WorkspaceManager
from .file_manager import FileManager
__all__ = ["WorkspaceManager", "FileManager"]
+53
View File
@@ -0,0 +1,53 @@
import os
class FileManager:
def __init__(self, workspace_id, base_dir="workspaces"):
self.workspace_id = workspace_id
self.base_dir = base_dir
self.workspace_path = os.path.join(base_dir, str(workspace_id))
self._ensure_workspace_dir()
def _ensure_workspace_dir(self):
if not os.path.exists(self.workspace_path):
os.makedirs(self.workspace_path)
def save_file(self, filename, content):
file_path = os.path.join(self.workspace_path, filename)
os.makedirs(os.path.dirname(file_path), exist_ok=True)
with open(file_path, "w", encoding="utf-8") as f:
f.write(content)
def read_file(self, filename):
file_path = os.path.join(self.workspace_path, filename)
if not os.path.exists(file_path):
raise FileNotFoundError(f"文件 {filename} 不存在")
with open(file_path, "r", encoding="utf-8") as f:
return f.read()
def delete_file(self, filename):
file_path = os.path.join(self.workspace_path, filename)
if os.path.exists(file_path):
os.remove(file_path)
def list_files(self, directory=""):
dir_path = (
os.path.join(self.workspace_path, directory)
if directory
else self.workspace_path
)
if not os.path.exists(dir_path):
return []
files = []
for item in os.listdir(dir_path):
item_path = os.path.join(dir_path, item)
if os.path.isfile(item_path):
files.append(item)
elif os.path.isdir(item_path):
files.extend(
[
os.path.join(directory, f)
for f in self.list_files(os.path.join(directory, item))
]
)
return files
+18
View File
@@ -0,0 +1,18 @@
class WorkspaceManager:
def __init__(self, workspace_id):
self.workspace_id = workspace_id
def create_file(self, filename, content):
pass
def read_file(self, filename):
pass
def update_file(self, filename, content):
pass
def delete_file(self, filename):
pass
def list_files(self):
pass