Skip to content

Commit 046c308

Browse files
author
Oleksandr Bazarnov
committed
cleaned up
1 parent b43c079 commit 046c308

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2862,6 +2862,25 @@ def create_simple_retriever(
28622862
use_cache: Optional[bool] = None,
28632863
**kwargs: Any,
28642864
) -> SimpleRetriever:
2865+
def _get_url() -> str:
2866+
"""
2867+
Closure to get the URL from the requester. This is used to get the URL in the case of a lazy retriever.
2868+
This is needed because the URL is not set until the requester is created.
2869+
"""
2870+
2871+
_url = (
2872+
model.requester.url
2873+
if hasattr(model.requester, "url") and model.requester.url is not None
2874+
else requester.get_url()
2875+
)
2876+
_url_base = (
2877+
model.requester.url_base
2878+
if hasattr(model.requester, "url_base") and model.requester.url_base is not None
2879+
else requester.get_url_base()
2880+
)
2881+
2882+
return _url or _url_base
2883+
28652884
decoder = (
28662885
self._create_component_from_model(model=model.decoder, config=config)
28672886
if model.decoder
@@ -2926,17 +2945,6 @@ def create_simple_retriever(
29262945
use_cache=use_cache,
29272946
config=config,
29282947
)
2929-
_url = (
2930-
model.requester.url
2931-
if hasattr(model.requester, "url") and model.requester.url is not None
2932-
else requester.get_url()
2933-
)
2934-
_url_base = (
2935-
model.requester.url_base
2936-
if hasattr(model.requester, "url_base") and model.requester.url_base is not None
2937-
else requester.get_url_base()
2938-
)
2939-
url_base = _url or _url_base
29402948

29412949
# Define cursor only if per partition or common incremental support is needed
29422950
cursor = stream_slicer if isinstance(stream_slicer, DeclarativeCursor) else None
@@ -2960,7 +2968,7 @@ def create_simple_retriever(
29602968
self._create_component_from_model(
29612969
model=model.paginator,
29622970
config=config,
2963-
url_base=url_base,
2971+
url_base=_get_url(),
29642972
decoder=decoder,
29652973
cursor_used_for_stop_condition=cursor_used_for_stop_condition,
29662974
)

0 commit comments

Comments
 (0)