diff --git a/dicogis/export/base_serializer.py b/dicogis/export/base_serializer.py index 241b2fb2..27aa977b 100644 --- a/dicogis/export/base_serializer.py +++ b/dicogis/export/base_serializer.py @@ -12,7 +12,6 @@ from pathlib import Path # project -from dicogis import export from dicogis.constants import OutputFormats from dicogis.utils.texts import TextsManager @@ -71,10 +70,7 @@ def get_serializer_from_parameters( opt_raw_path: bool = False, opt_prettify_size: bool = True, localized_strings: dict | None = None, - ) -> ( - export.to_json.MetadatasetSerializerJson - | export.to_xlsx.MetadatasetSerializerXlsx - ): + ) -> MetadatasetSerializerBase: """Initiate the adequat serializer depending on parameters. Args: @@ -88,7 +84,10 @@ def get_serializer_from_parameters( Returns: serializer already initialized """ - print("ho", type(format_or_serializer)) + # import only now to avoid circular imports + from dicogis.export.to_json import MetadatasetSerializerJson + from dicogis.export.to_xlsx import MetadatasetSerializerXlsx + if isinstance(format_or_serializer, MetadatasetSerializerBase): return format_or_serializer @@ -97,20 +96,20 @@ def get_serializer_from_parameters( if format_or_serializer == OutputFormats.excel: # creating the Excel workbook - output_serializer = export.to_xlsx.MetadatasetSerializerXlsx( + output_serializer = MetadatasetSerializerXlsx( localized_strings=localized_strings, opt_raw_path=opt_raw_path, opt_size_prettify=opt_prettify_size, output_path=output_path, ) elif format_or_serializer == OutputFormats.json: - output_serializer = export.to_json.MetadatasetSerializerJson( + output_serializer = MetadatasetSerializerJson( localized_strings=localized_strings, opt_size_prettify=opt_prettify_size, output_path=output_path, ) elif format_or_serializer == OutputFormats.udata: - output_serializer = export.to_json.MetadatasetSerializerJson( + output_serializer = MetadatasetSerializerJson( flavor="udata", localized_strings=localized_strings, opt_size_prettify=opt_prettify_size,