Source code for ferrosoft.apps.emiflow.management.commands.catalog2fixture
import json
import sys
from django.core.management import BaseCommand
from ferrosoft.apps.emiflow.catalog.conversion import convert_catalog_files
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="Base name of file inside emiflow static files directory",
)
parser.add_argument("catalog", nargs="+", type=str)
[docs]
def handle_tenant(self, *args, **options):
try:
json.dump(
convert_catalog_files(options["catalog"], options["schema"]),
sys.stdout,
)
except RuntimeError as e:
self.stderr.write(str(e))
sys.exit(2)