Spaces:
Sleeping
Sleeping
| from pathlib import Path | |
| import re | |
| path = Path("app/core/config.py") | |
| text = path.read_text(encoding="utf-8") | |
| pattern = r''' def ensure_directories\(self\) -> None: | |
| (?: .+\n)+?''' | |
| new_block = ''' def ensure_directories(self) -> None: | |
| directories = [ | |
| self.UPLOAD_DIR, | |
| self.PROCESSED_DIR, | |
| self.QDRANT_LOCAL_PATH, | |
| self.EVALUATION_DIR | |
| ] | |
| try: | |
| for directory in directories: | |
| directory.mkdir(parents=True, exist_ok=True) | |
| except PermissionError: | |
| fallback_base = Path("/tmp/graphrag") | |
| fallback_dirs = [ | |
| fallback_base / "uploads", | |
| fallback_base / "processed", | |
| fallback_base / "qdrant", | |
| fallback_base / "evaluation" | |
| ] | |
| for directory in fallback_dirs: | |
| directory.mkdir(parents=True, exist_ok=True) | |
| ''' | |
| match = re.search(pattern, text) | |
| if not match: | |
| print("Could not auto-patch ensure_directories. Please send config.py if this happens.") | |
| else: | |
| text = text[:match.start()] + new_block + text[match.end():] | |
| path.write_text(text, encoding="utf-8") | |
| print("config.py permission fallback patched successfully.") | |