Skip to content

Commit c3efa4c

Browse files
authored
fix: update csv parser for builder compatibility (#364)
1 parent 665dc1f commit c3efa4c

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

airbyte_cdk/sources/declarative/decoders/composite_raw_decoder.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ def parse(
126126
"""
127127
text_data = TextIOWrapper(data, encoding=self.encoding) # type: ignore
128128
reader = csv.DictReader(text_data, delimiter=self._get_delimiter() or ",")
129-
yield from reader
129+
for row in reader:
130+
yield row
130131

131132

132133
@dataclass

airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2091,10 +2091,10 @@ def create_dynamic_schema_loader(
20912091
def create_json_decoder(model: JsonDecoderModel, config: Config, **kwargs: Any) -> Decoder:
20922092
return JsonDecoder(parameters={})
20932093

2094-
@staticmethod
2095-
def create_csv_decoder(model: CsvDecoderModel, config: Config, **kwargs: Any) -> Decoder:
2094+
def create_csv_decoder(self, model: CsvDecoderModel, config: Config, **kwargs: Any) -> Decoder:
20962095
return CompositeRawDecoder(
2097-
parser=ModelToComponentFactory._get_parser(model, config), stream_response=True
2096+
parser=ModelToComponentFactory._get_parser(model, config),
2097+
stream_response=False if self._emit_connector_builder_messages else True,
20982098
)
20992099

21002100
@staticmethod
@@ -2103,10 +2103,12 @@ def create_jsonl_decoder(model: JsonlDecoderModel, config: Config, **kwargs: Any
21032103
parser=ModelToComponentFactory._get_parser(model, config), stream_response=True
21042104
)
21052105

2106-
@staticmethod
2107-
def create_gzip_decoder(model: GzipDecoderModel, config: Config, **kwargs: Any) -> Decoder:
2106+
def create_gzip_decoder(
2107+
self, model: GzipDecoderModel, config: Config, **kwargs: Any
2108+
) -> Decoder:
21082109
return CompositeRawDecoder(
2109-
parser=ModelToComponentFactory._get_parser(model, config), stream_response=True
2110+
parser=ModelToComponentFactory._get_parser(model, config),
2111+
stream_response=False if self._emit_connector_builder_messages else True,
21102112
)
21112113

21122114
@staticmethod

0 commit comments

Comments
 (0)