From 52acde2e5c015f8f898f023411a33966f8a1d57a Mon Sep 17 00:00:00 2001 From: Anton Burnashev Date: Wed, 24 Jul 2024 12:22:44 +0200 Subject: [PATCH 1/3] Fix dlt init JSONLinkPaginator import error --- sources/rest_api/config_setup.py | 7 ++++++- sources/rest_api/typing.py | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/sources/rest_api/config_setup.py b/sources/rest_api/config_setup.py index 6ce241aee..66c9b8861 100644 --- a/sources/rest_api/config_setup.py +++ b/sources/rest_api/config_setup.py @@ -29,11 +29,16 @@ BasePaginator, SinglePagePaginator, HeaderLinkPaginator, - JSONLinkPaginator, JSONResponseCursorPaginator, OffsetPaginator, PageNumberPaginator, ) + +try: + from dlt.sources.helpers.rest_client.paginators import JSONLinkPaginator +except ImportError: + from dlt.sources.helpers.rest_client.paginators import JSONResponsePaginator as JSONLinkPaginator + from dlt.sources.helpers.rest_client.detector import single_entity_path from dlt.sources.helpers.rest_client.exceptions import IgnoreResponseException from dlt.sources.helpers.rest_client.auth import ( diff --git a/sources/rest_api/typing.py b/sources/rest_api/typing.py index 191725ca3..d41bbd6e3 100644 --- a/sources/rest_api/typing.py +++ b/sources/rest_api/typing.py @@ -30,11 +30,16 @@ from dlt.sources.helpers.rest_client.paginators import ( SinglePagePaginator, HeaderLinkPaginator, - JSONLinkPaginator, JSONResponseCursorPaginator, OffsetPaginator, PageNumberPaginator, ) + +try: + from dlt.sources.helpers.rest_client.paginators import JSONLinkPaginator +except ImportError: + from dlt.sources.helpers.rest_client.paginators import JSONResponsePaginator as JSONLinkPaginator + from dlt.sources.helpers.rest_client.auth import ( AuthConfigBase, HttpBasicAuth, From 1f7a62e2363f79aa10843160fd49ee1f89f7e302 Mon Sep 17 00:00:00 2001 From: Anton Burnashev Date: Wed, 24 Jul 2024 12:30:14 +0200 Subject: [PATCH 2/3] Add a fallback in tests --- tests/rest_api/test_configurations.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/rest_api/test_configurations.py b/tests/rest_api/test_configurations.py index f43bfd86d..d41eb4288 100644 --- a/tests/rest_api/test_configurations.py +++ b/tests/rest_api/test_configurations.py @@ -51,13 +51,18 @@ ) from dlt.sources.helpers.rest_client.paginators import ( HeaderLinkPaginator, - JSONLinkPaginator, JSONResponseCursorPaginator, OffsetPaginator, PageNumberPaginator, SinglePagePaginator, ) +try: + from dlt.sources.helpers.rest_client.paginators import JSONLinkPaginator +except ImportError: + from dlt.sources.helpers.rest_client.paginators import JSONResponsePaginator as JSONLinkPaginator + + from dlt.sources.helpers.rest_client.auth import ( HttpBasicAuth, BearerTokenAuth, From d9c234058db91dca09858125808cda2f3686286a Mon Sep 17 00:00:00 2001 From: Anton Burnashev Date: Wed, 24 Jul 2024 12:35:16 +0200 Subject: [PATCH 3/3] Ignore mypy in the import fallback --- sources/rest_api/config_setup.py | 2 +- sources/rest_api/typing.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/rest_api/config_setup.py b/sources/rest_api/config_setup.py index 66c9b8861..dfbb98fb7 100644 --- a/sources/rest_api/config_setup.py +++ b/sources/rest_api/config_setup.py @@ -37,7 +37,7 @@ try: from dlt.sources.helpers.rest_client.paginators import JSONLinkPaginator except ImportError: - from dlt.sources.helpers.rest_client.paginators import JSONResponsePaginator as JSONLinkPaginator + from dlt.sources.helpers.rest_client.paginators import JSONResponsePaginator as JSONLinkPaginator # type: ignore from dlt.sources.helpers.rest_client.detector import single_entity_path from dlt.sources.helpers.rest_client.exceptions import IgnoreResponseException diff --git a/sources/rest_api/typing.py b/sources/rest_api/typing.py index d41bbd6e3..871ccd1a0 100644 --- a/sources/rest_api/typing.py +++ b/sources/rest_api/typing.py @@ -38,7 +38,7 @@ try: from dlt.sources.helpers.rest_client.paginators import JSONLinkPaginator except ImportError: - from dlt.sources.helpers.rest_client.paginators import JSONResponsePaginator as JSONLinkPaginator + from dlt.sources.helpers.rest_client.paginators import JSONResponsePaginator as JSONLinkPaginator # type: ignore from dlt.sources.helpers.rest_client.auth import ( AuthConfigBase,