Spaces:
Sleeping
Sleeping
File size: 2,079 Bytes
2fe2727 ffa0093 2fe2727 ffa0093 2fe2727 ffa0093 2fe2727 ffa0093 2fe2727 ffa0093 2fe2727 8605269 2fe2727 9d1006c 8605269 2fe2727 9d1006c 2fe2727 8605269 1cfbe6f 9d1006c 2fe2727 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | """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"
|