Spaces:
Running
Running
| """Application configuration for DocVault.""" | |
| import os | |
| BASE_DIR = os.path.abspath(os.path.dirname(__file__)) | |
| PROJECT_ROOT = os.path.dirname(BASE_DIR) | |
| LOG_DIR = os.path.join(PROJECT_ROOT, "logs") | |
| os.makedirs(LOG_DIR, exist_ok=True) | |
| DEBUG = os.getenv("DEBUG", "false").lower() == "true" | |
| SECRET_KEY = os.getenv("SECRET_KEY") | |
| JSONIFY_PRETTYPRINT_REGULAR = False | |
| MAX_CONTENT_LENGTH = 50 * 1024 * 1024 | |
| ALLOWED_EXTENSIONS = { | |
| "txt", | |
| "pdf", | |
| "png", | |
| "jpg", | |
| "jpeg", | |
| "gif", | |
| "doc", | |
| "docx", | |
| "xls", | |
| "xlsx", | |
| "ppt", | |
| "pptx", | |
| "zip", | |
| "rar", | |
| "json", | |
| "xml", | |
| "csv", | |
| "md", | |
| "py", | |
| "js", | |
| "html", | |
| "css", | |
| "yml", | |
| "yaml", | |
| "gitkeep", | |
| } | |
| DEFAULT_USER_ID = "default_user" | |
| FOLDER_MARKER = ".gitkeep" | |
| LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" | |
| LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO") | |
| HF_STORAGE_LABEL = "HF" | |
| def _optional_env(name: str, default: str | None = None) -> str | None: | |
| value = os.getenv(name, "").strip() | |
| if not value and default is not None: | |
| value = default.strip() | |
| return value or None | |
| def _required_env(name: str, default: str | None = None) -> str: | |
| value = _optional_env(name, default) | |
| if not value: | |
| raise RuntimeError(f"Missing required environment variable: {name}") | |
| return value | |
| STORAGE_MODE = _required_env("STORAGE_MODE", "HF").upper() | |
| if STORAGE_MODE != HF_STORAGE_LABEL: | |
| raise RuntimeError( | |
| f"Unsupported STORAGE_MODE '{STORAGE_MODE}'. " | |
| f"DocVault is production-configured for STORAGE_MODE={HF_STORAGE_LABEL} only." | |
| ) | |
| HF_TOKEN = _optional_env("HF_TOKEN") or _optional_env("HUGGING_FACE_HUB_TOKEN") or _optional_env("HF_API_TOKEN") | |
| HF_REPO_ID = _optional_env("HF_REPO_ID", "mohsin-devs/docvault-storage") | |
| HF_REPO_TYPE = _required_env("HF_REPO_TYPE", "dataset") | |
| if HF_REPO_TYPE not in {"dataset", "model", "space"}: | |
| raise RuntimeError( | |
| "Invalid HF_REPO_TYPE. Supported values are: dataset, model, space." | |
| ) | |
| if not SECRET_KEY: | |
| SECRET_KEY = "docvault-production-secret" | |