Initial commit: certgen — сервис генерации сертификатов
This commit is contained in:
commit
49bac43e16
23 files changed
+3046
No files matched your search
@@ -0,0 +1,41 @@
|
||||
"""Пути и настройки сервиса."""
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
# Каталог данных можно переопределить переменной окружения CERTGEN_DATA.
|
||||
DATA_DIR = Path(os.environ.get("CERTGEN_DATA", str(BASE_DIR / "data"))).expanduser()
|
||||
DB_PATH = DATA_DIR / "certs.db"
|
||||
OUTPUT_DIR = DATA_DIR / "output" # сгенерированные файлы (png/pdf)
|
||||
TEMPLATES_DIR = DATA_DIR / "templates" # фоны и ассеты шаблонов
|
||||
TMP_DIR = DATA_DIR / "tmp" # временные файлы
|
||||
|
||||
# Публичный адрес сервиса (для абсолютных ссылок). Если не задан — берём из Host.
|
||||
BASE_URL = os.environ.get("CERTGEN_BASE_URL", "").rstrip("/")
|
||||
|
||||
HOST = os.environ.get("CERTGEN_HOST", "127.0.0.1")
|
||||
PORT = int(os.environ.get("CERTGEN_PORT", "8077"))
|
||||
|
||||
# Разрешение вывода (dpi для PDF-экспорта изображения).
|
||||
PDF_DPI = int(os.environ.get("CERTGEN_PDF_DPI", "150"))
|
||||
|
||||
# Нумерация: первые (START_SEQ - 1) номеров зарезервированы под особые случаи,
|
||||
# обычная нумерация начинается с START_SEQ.
|
||||
START_SEQ = int(os.environ.get("CERTGEN_START", "1001"))
|
||||
# Ширина номера с ведущими нулями (6 -> 001001).
|
||||
NUMBER_PAD = int(os.environ.get("CERTGEN_PAD", "6"))
|
||||
|
||||
# Регистрация: open — любой может зарегистрироваться; closed — только админ создаёт.
|
||||
REGISTRATION = os.environ.get("CERTGEN_REGISTRATION", "open").strip().lower()
|
||||
# Email, который при регистрации получает роль администратора (необязательно).
|
||||
ADMIN_EMAIL = os.environ.get("CERTGEN_ADMIN_EMAIL", "").strip().lower()
|
||||
# Срок жизни сессии в днях.
|
||||
SESSION_TTL_DAYS = int(os.environ.get("CERTGEN_SESSION_DAYS", "30"))
|
||||
|
||||
|
||||
def ensure_dirs() -> None:
|
||||
for d in (DATA_DIR, OUTPUT_DIR, TEMPLATES_DIR, TMP_DIR):
|
||||
d.mkdir(parents=True, exist_ok=True)
|
||||
Reference in new issue
Block a user