Source code for ferrosoft.apps.emiflow.management.commands.import_catalog

import sys

from django.core.management import BaseCommand

from ferrosoft.apps.emiflow.catalog.conversion import (
    CatalogValidationError,
)
from ferrosoft.apps.emiflow.catalog.database import import_emiflow_catalog
from ferrosoft.apps.ferrobase.management.tenantcommand import TenantAwareCommand


[docs] class Command(TenantAwareCommand, BaseCommand):
[docs] def add_arguments(self, parser): super().add_arguments(parser) parser.add_argument( "-S", "--schema", type=str, default="catalog.schema.json", help="Schema file base name inside emiflow static directory", ) parser.add_argument( "catalog", nargs="+", type=str, help="Catalog file name", )
[docs] def handle_tenant(self, *args, **options): try: import_emiflow_catalog(options["catalog"], options["schema"]) except CatalogValidationError as e: self.stderr.write(str(e)) sys.exit(1)