From d1b8074f2fd8e9c72812c4359e72977f6f4f9fea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez-Mondrag=C3=B3n?= Date: Wed, 10 Jul 2024 13:21:27 -0600 Subject: [PATCH] WIP: Use `.context` attribue form sdk#2529 --- pyproject.toml | 4 ++-- tap_nasa/client.py | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 717e563..842822c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,7 @@ dynamic = [ "version", ] dependencies = [ - "singer-sdk~=0.38.0", + "singer-sdk~=0.39.0a1", ] optional-dependencies.dev = [ "tap-nasa[testing,typing]", @@ -43,7 +43,7 @@ optional-dependencies.dev = [ optional-dependencies.testing = [ "deptry>=0.12", "pytest>=8", - "singer-sdk[testing]", + "singer-sdk[testing]~=0.39.0a1", ] optional-dependencies.typing = [ "mypy", diff --git a/tap_nasa/client.py b/tap_nasa/client.py index e0bcaf0..abc79a0 100644 --- a/tap_nasa/client.py +++ b/tap_nasa/client.py @@ -11,6 +11,9 @@ from singer_sdk.authenticators import APIKeyAuthenticator from singer_sdk.pagination import BaseAPIPaginator +if t.TYPE_CHECKING: + from singer_sdk.helpers import types + DATE_FORMAT = "%Y-%m-%d" @@ -39,7 +42,7 @@ def increase(self) -> DateRange: self.max_date, ) - def valid(self) -> bool: + def is_valid(self) -> bool: """Check if the date range is not past the max date. Returns: @@ -70,10 +73,7 @@ def get_next(self, response) -> DateRange | None: # type: ignore[no-untyped-def """ new = self.current_value.increase() - if new.valid(): - return new - - return None + return new if new.is_valid() else None class NASAStream(RESTStream[DateRange]): @@ -156,7 +156,7 @@ def http_headers(self) -> dict[str, str]: def get_new_paginator(self) -> DateRangePaginator: """Get a new paginator.""" - start_dt = self.get_starting_timestamp(context=None) + start_dt = self.get_starting_timestamp(context=self.context) if start_dt is None: msg = "A start date is required" @@ -174,7 +174,7 @@ def get_new_paginator(self) -> DateRangePaginator: def get_url_params( self, - context: dict[str, t.Any] | None, + context: types.Context[str, t.Any] | None, next_page_token: DateRange | None, ) -> dict[str, t.Any] | str: """Get URL query parameters.