From f85b5af37e3b931f838d8ab8fe672f61b80e3826 Mon Sep 17 00:00:00 2001 From: Florian Spreckelsen <f.spreckelsen@indiscale.com> Date: Wed, 4 Sep 2024 15:30:18 +0200 Subject: [PATCH] WIP: Adapt imports to new submodule structure --- src/caoscrawler/__init__.py | 10 ---------- src/caoscrawler/conv_impl/__init__.py | 0 src/caoscrawler/converters/__init__.py | 11 +++++++++++ src/caoscrawler/converters/converters.py | 6 +++--- src/caoscrawler/converters/hdf5_converter.py | 4 ++-- src/caoscrawler/converters/spss.py | 3 ++- 6 files changed, 18 insertions(+), 16 deletions(-) delete mode 100644 src/caoscrawler/conv_impl/__init__.py diff --git a/src/caoscrawler/__init__.py b/src/caoscrawler/__init__.py index 27bdbfd3..9beadc11 100644 --- a/src/caoscrawler/__init__.py +++ b/src/caoscrawler/__init__.py @@ -1,15 +1,5 @@ from . import converters, utils, xml_converter -try: - from .conv_impl.spss import SPSSConverter -except ImportError as err: - SPSSConverter: type = utils.MissingImport( - name="SPSSConverter", hint="Try installing with the `spss` extra option.", - err=err) from .crawl import Crawler, SecurityMode from .version import CfoodRequiredVersionError, get_caoscrawler_version __version__ = get_caoscrawler_version() - -# Convenience members ######################################################### -# mypy: disable-error-code="attr-defined" -converters.SPSSConverter = SPSSConverter diff --git a/src/caoscrawler/conv_impl/__init__.py b/src/caoscrawler/conv_impl/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/caoscrawler/converters/__init__.py b/src/caoscrawler/converters/__init__.py index a7fa95b3..b7bae03b 100644 --- a/src/caoscrawler/converters/__init__.py +++ b/src/caoscrawler/converters/__init__.py @@ -19,3 +19,14 @@ # along with this program. If not, see <https://www.gnu.org/licenses/>. """Submdule containing all default and optional converters.""" + +from .. import utils +from .converters import * + +try: + from .converters.spss import SPSSConverter +except ImportError as err: + SPSSConverter: type = utils.MissingImport( + name="SPSSConverter", hint="Try installing with the `spss` extra option.", + err=err) + diff --git a/src/caoscrawler/converters/converters.py b/src/caoscrawler/converters/converters.py index 9805d110..d8efe1f3 100644 --- a/src/caoscrawler/converters/converters.py +++ b/src/caoscrawler/converters/converters.py @@ -41,12 +41,12 @@ import yaml import yaml_header_tools from jsonschema import ValidationError, validate -from .stores import GeneralStore, RecordStore -from .structure_elements import (BooleanElement, DictElement, Directory, File, +from ..stores import GeneralStore, RecordStore +from ..structure_elements import (BooleanElement, DictElement, Directory, File, FloatElement, IntegerElement, JSONFile, ListElement, NoneElement, StructureElement, TextElement) -from .utils import has_parent +from ..utils import has_parent # These are special properties which are (currently) treated differently # by the converters: diff --git a/src/caoscrawler/converters/hdf5_converter.py b/src/caoscrawler/converters/hdf5_converter.py index 482d59c1..a4d974bd 100644 --- a/src/caoscrawler/converters/hdf5_converter.py +++ b/src/caoscrawler/converters/hdf5_converter.py @@ -36,8 +36,8 @@ import linkahead as db from .converters import (convert_basic_element, Converter, DictElementConverter, match_name_and_value, SimpleFileConverter) -from .stores import GeneralStore, RecordStore -from .structure_elements import DictElement, File, FloatElement, IntegerElement, StructureElement +from ..stores import GeneralStore, RecordStore +from ..structure_elements import DictElement, File, FloatElement, IntegerElement, StructureElement def convert_attributes(elt: Union[h5py.File, h5py.Group, h5py.Dataset]): diff --git a/src/caoscrawler/converters/spss.py b/src/caoscrawler/converters/spss.py index 5dfad0ff..3f1c3662 100644 --- a/src/caoscrawler/converters/spss.py +++ b/src/caoscrawler/converters/spss.py @@ -28,7 +28,8 @@ import pandas as pd import pyreadstat import yaml -from .. import converters +import .converters + from ..stores import GeneralStore from ..structure_elements import (File, StructureElement) from typing import Optional, Any -- GitLab