from __future__ import annotations from pathlib import Path from typing import Any from django.conf import settings from django.core.management.base import BaseCommand from pobsync_backend.config_repository import export_runtime_configs class Command(BaseCommand): help = "Export Django database configs to pobsync runtime YAML files." def add_arguments(self, parser) -> None: parser.add_argument("--prefix", default=settings.POBSYNC_HOME, help="Pobsync home directory") parser.add_argument("--host", default=None, help="Export only one enabled host") def handle(self, *args: Any, **options: Any) -> None: written = export_runtime_configs(prefix=Path(options["prefix"]), host=options["host"]) for path in written: self.stdout.write(str(path)) self.stdout.write(self.style.SUCCESS(f"Exported {len(written)} config file(s)."))