ferrosoft.apps.dataimport.services package

Submodules

ferrosoft.apps.dataimport.services.conversion module

ferrosoft.apps.dataimport.services.conversion.convert_dataimport_catalog(catalog)[source]
Return type:

Iterable[dict]

ferrosoft.apps.dataimport.services.conversion.convert_enum(enum_type, external_value)[source]

ferrosoft.apps.dataimport.services.database module

class ferrosoft.apps.dataimport.services.database.FixtureImporter[source]

Bases: ABC

load_fixtures(fixtures, tenant=None)[source]
class ferrosoft.apps.dataimport.services.database.ImportCallback[source]

Bases: ABC

abstractmethod on_finish()[source]
abstractmethod on_object(instance)[source]
class ferrosoft.apps.dataimport.services.database.ObjectCreatingFixtureImporter(callback=None)[source]

Bases: FixtureImporter

Importer creating model instances from fixtures.

This is trimmed down version of Django management command “loaddata”.

class M2MRelations(field_name, related_ids)[source]

Bases: object

field_name: str
related_ids: List[UUID]
load_fixtures(fixtures, tenant=None)[source]
ferrosoft.apps.dataimport.services.database.import_json(converters, catalog, schema)[source]
Return type:

list

ferrosoft.apps.dataimport.services.errors module

exception ferrosoft.apps.dataimport.services.errors.CatalogConversionError[source]

Bases: Exception

exception ferrosoft.apps.dataimport.services.errors.CatalogValidationError[source]

Bases: Exception

ferrosoft.apps.dataimport.services.fixtures module

ferrosoft.apps.dataimport.services.fixtures.SchemaID

JSON schema ID

ferrosoft.apps.dataimport.services.fixtures.convert_catalog_files(catalog_file_names, schema_file_name, converters)[source]

Create fixtures from catalog files.

Parameters:
  • catalog_file_names (Iterable[str]) – JSON catalogs which must conform to JSON schema.

  • schema_file_name (str) – JSON schema file.

  • converters (Mapping[str, Callable]) – Converter function for each supported JSON schema: f(catalog) -> fixtures.

Return type:

list

Returns: Fixtures from all converted catalogs.

ferrosoft.apps.dataimport.services.fixtures.load_converters(converters_name)[source]
Return type:

Mapping[str, Callable]

ferrosoft.apps.dataimport.services.fixtures.validate_catalog(catalog, schema_file_name)[source]

Validate catalog dict against catalog schema.

Return type:

Tuple[str, list]