Skip to content

Commit b4cdf55

Browse files
author
Oleksandr Bazarnov
committed
updated after the review
1 parent 77f9b29 commit b4cdf55

File tree

5 files changed

+25
-32
lines changed

5 files changed

+25
-32
lines changed

airbyte_cdk/connector_builder/test_reader/reader.py

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def run_test_read(
114114
stream = source.streams(config)[0]
115115

116116
# get any deprecation warnings during the component creation
117-
deprecation_warnings: List[AirbyteLogMessage] = source.deprecation_warnings()
117+
deprecation_warnings: List[LogMessage] = source.deprecation_warnings()
118118

119119
schema_inferrer = SchemaInferrer(
120120
self._pk_to_nested_and_composite_field(stream.primary_key),
@@ -130,8 +130,12 @@ def run_test_read(
130130
)
131131

132132
slices, log_messages, auxiliary_requests, latest_config_update = self._categorise_groups(
133-
message_group, deprecation_warnings
133+
message_group
134134
)
135+
136+
# append deprecation warnings to the log messages
137+
log_messages += deprecation_warnings
138+
135139
schema, log_messages = self._get_infered_schema(
136140
configured_catalog, schema_inferrer, log_messages
137141
)
@@ -243,11 +247,7 @@ def _check_record_limit(self, record_limit: Optional[int] = None) -> int:
243247

244248
return record_limit
245249

246-
def _categorise_groups(
247-
self,
248-
message_groups: MESSAGE_GROUPS,
249-
deprecation_warnings: Optional[List[Any]] = None,
250-
) -> GROUPED_MESSAGES:
250+
def _categorise_groups(self, message_groups: MESSAGE_GROUPS) -> GROUPED_MESSAGES:
251251
"""
252252
Categorizes a sequence of message groups into slices, log messages, auxiliary requests, and the latest configuration update.
253253
@@ -308,17 +308,6 @@ def _categorise_groups(
308308
case _:
309309
raise ValueError(f"Unknown message group type: {type(message_group)}")
310310

311-
# process deprecation warnings, if present
312-
if deprecation_warnings is not None:
313-
for deprecation in deprecation_warnings:
314-
match deprecation:
315-
case AirbyteLogMessage():
316-
log_messages.append(
317-
LogMessage(message=deprecation.message, level=deprecation.level.value)
318-
)
319-
case _:
320-
raise ValueError(f"Unknown message group type: {type(deprecation)}")
321-
322311
return slices, log_messages, auxiliary_requests, latest_config_update
323312

324313
def _get_infered_schema(

airbyte_cdk/sources/declarative/declarative_source.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from abc import abstractmethod
77
from typing import Any, List, Mapping, Tuple
88

9-
from airbyte_cdk.models import (
10-
AirbyteLogMessage,
9+
from airbyte_cdk.connector_builder.models import (
10+
LogMessage as ConnectorBuilderLogMessage,
1111
)
1212
from airbyte_cdk.sources.abstract_source import AbstractSource
1313
from airbyte_cdk.sources.declarative.checks.connection_checker import ConnectionChecker
@@ -38,7 +38,7 @@ def check_connection(
3838
"""
3939
return self.connection_checker.check_connection(self, logger, config)
4040

41-
def deprecation_warnings(self) -> List[AirbyteLogMessage]:
41+
def deprecation_warnings(self) -> List[ConnectorBuilderLogMessage]:
4242
"""
4343
Returns a list of deprecation warnings for the source.
4444
"""

airbyte_cdk/sources/declarative/manifest_declarative_source.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@
1515
from jsonschema.validators import validate
1616
from packaging.version import InvalidVersion, Version
1717

18+
from airbyte_cdk.connector_builder.models import (
19+
LogMessage as ConnectorBuilderLogMessage,
20+
)
1821
from airbyte_cdk.models import (
1922
AirbyteConnectionStatus,
20-
AirbyteLogMessage,
2123
AirbyteMessage,
2224
AirbyteStateMessage,
2325
ConfiguredAirbyteCatalog,
@@ -124,7 +126,7 @@ def dynamic_streams(self) -> List[Dict[str, Any]]:
124126
manifest=self._source_config, config=self._config, with_dynamic_stream_name=True
125127
)
126128

127-
def deprecation_warnings(self) -> List[AirbyteLogMessage]:
129+
def deprecation_warnings(self) -> List[ConnectorBuilderLogMessage]:
128130
return self._constructor.get_model_deprecations()
129131

130132
@property

airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@
88

99
from pydantic.v1 import BaseModel
1010

11-
from airbyte_cdk.models import (
12-
AirbyteLogMessage,
13-
Level,
14-
)
11+
from airbyte_cdk.connector_builder.models import LogMessage as ConnectorBuilderLogMessage
1512

1613
# format the warning message
1714
warnings.formatwarning = (
@@ -55,7 +52,7 @@ def __init__(self, **model_fields: Any) -> None:
5552
# set the placeholder for the default deprecation messages
5653
self._default_deprecation_messages: List[str] = []
5754
# set the placeholder for the deprecation logs
58-
self._deprecation_logs: List[AirbyteLogMessage] = []
55+
self._deprecation_logs: List[ConnectorBuilderLogMessage] = []
5956
# process deprecated fields, if present
6057
self._process_fields(model_fields)
6158
# emit default deprecation messages
@@ -130,7 +127,9 @@ def _create_warning(self, field_name: str, message: str) -> None:
130127
self._default_deprecation_messages.append(deprecated_message)
131128

132129
# Create an Airbyte deprecation log message
133-
deprecation_log_message = AirbyteLogMessage(level=Level.WARN, message=deprecated_message)
130+
deprecation_log_message = ConnectorBuilderLogMessage(
131+
level="WARN", message=deprecated_message
132+
)
134133
# Add the deprecation message to the Airbyte log messages,
135134
# this logs are displayed in the Connector Builder.
136135
if deprecation_log_message not in self._deprecation_logs:

airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@
2727
from isodate import parse_duration
2828
from pydantic.v1 import BaseModel
2929

30-
from airbyte_cdk.models import AirbyteLogMessage, FailureType, Level
30+
from airbyte_cdk.connector_builder.models import (
31+
LogMessage as ConnectorBuilderLogMessage,
32+
)
33+
from airbyte_cdk.models import FailureType, Level
3134
from airbyte_cdk.sources.connector_state_manager import ConnectorStateManager
3235
from airbyte_cdk.sources.declarative.async_job.job_orchestrator import AsyncJobOrchestrator
3336
from airbyte_cdk.sources.declarative.async_job.job_tracker import JobTracker
@@ -592,7 +595,7 @@ def __init__(
592595
self._api_budget: Optional[Union[APIBudget, HttpAPIBudget]] = None
593596
self._job_tracker: JobTracker = JobTracker(max_concurrent_async_job_count or 1)
594597
# placeholder for deprecation warnings
595-
self._collected_deprecation_logs: List[AirbyteLogMessage] = []
598+
self._collected_deprecation_logs: List[ConnectorBuilderLogMessage] = []
596599

597600
def _init_mappings(self) -> None:
598601
self.PYDANTIC_MODEL_TO_CONSTRUCTOR: Mapping[Type[BaseModel], Callable[..., Any]] = {
@@ -747,7 +750,7 @@ def _create_component_from_model(self, model: BaseModel, config: Config, **kwarg
747750

748751
return component_constructor(model=model, config=config, **kwargs)
749752

750-
def get_model_deprecations(self) -> List[Any]:
753+
def get_model_deprecations(self) -> List[ConnectorBuilderLogMessage]:
751754
"""
752755
Returns the deprecation warnings that were collected during the creation of components.
753756
"""

0 commit comments

Comments
 (0)