Skip to content

Commit 0d2a4fe

Browse files
committed
ref: use datetimeparser + fix circular import
Signed-off-by: Artem Inzhyyants <[email protected]>
1 parent 12b1200 commit 0d2a4fe

File tree

5 files changed

+6
-12
lines changed

5 files changed

+6
-12
lines changed
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
#
22
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
33
#
4-
5-
from airbyte_cdk.sources.declarative.datetime.min_max_datetime import MinMaxDatetime
6-
7-
__all__ = ["MinMaxDatetime"]

airbyte_cdk/sources/declarative/interpolation/macros.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
from dateutil import parser
1313
from isodate import parse_duration
1414

15+
from airbyte_cdk.sources.declarative.datetime.datetime_parser import DatetimeParser
16+
1517
"""
1618
This file contains macros that can be evaluated by a `JinjaInterpolation` object
1719
"""
@@ -171,11 +173,7 @@ def format_datetime(
171173
dt_datetime = (
172174
datetime.datetime.strptime(dt, input_format) if input_format else str_to_datetime(dt)
173175
)
174-
if format == "%s":
175-
return str(int(dt_datetime.timestamp()))
176-
elif format == "%epoch_microseconds":
177-
return str(int(dt_datetime.timestamp() * 1_000_000))
178-
return dt_datetime.strftime(format)
176+
return DatetimeParser().format(dt=dt_datetime, format=format)
179177

180178

181179
_macros_list = [

airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
)
5757
from airbyte_cdk.sources.declarative.checks import CheckDynamicStream, CheckStream
5858
from airbyte_cdk.sources.declarative.concurrency_level import ConcurrencyLevel
59-
from airbyte_cdk.sources.declarative.datetime import MinMaxDatetime
59+
from airbyte_cdk.sources.declarative.datetime.min_max_datetime import MinMaxDatetime
6060
from airbyte_cdk.sources.declarative.declarative_stream import DeclarativeStream
6161
from airbyte_cdk.sources.declarative.decoders import (
6262
Decoder,

unit_tests/sources/declarative/extractors/test_record_filter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import pytest
77

8-
from airbyte_cdk.sources.declarative.datetime import MinMaxDatetime
8+
from airbyte_cdk.sources.declarative.datetime.min_max_datetime import MinMaxDatetime
99
from airbyte_cdk.sources.declarative.extractors.record_filter import (
1010
ClientSideIncrementalRecordFilterDecorator,
1111
RecordFilter,

unit_tests/sources/declarative/parsers/test_model_to_component_factory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
from airbyte_cdk.sources.declarative.auth.token_provider import SessionTokenProvider
3333
from airbyte_cdk.sources.declarative.checks import CheckStream
3434
from airbyte_cdk.sources.declarative.concurrency_level import ConcurrencyLevel
35-
from airbyte_cdk.sources.declarative.datetime import MinMaxDatetime
35+
from airbyte_cdk.sources.declarative.datetime.min_max_datetime import MinMaxDatetime
3636
from airbyte_cdk.sources.declarative.declarative_stream import DeclarativeStream
3737
from airbyte_cdk.sources.declarative.decoders import JsonDecoder, PaginationDecoderDecorator
3838
from airbyte_cdk.sources.declarative.extractors import DpathExtractor, RecordFilter, RecordSelector

0 commit comments

Comments
 (0)