Skip to content

Commit 19fdc26

Browse files
mypy fix
1 parent a9c1eb8 commit 19fdc26

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -793,6 +793,7 @@ def create_dpath_flatten_fields(
793793
model_field_path: List[Union[InterpolatedString, str]] = [x for x in model.field_path]
794794
key_transformation = (
795795
KeyTransformation(
796+
config=config,
796797
prefix=model.key_transformation.prefix,
797798
suffix=model.key_transformation.suffix,
798799
parameters=model.parameters or {},

airbyte_cdk/sources/declarative/transformations/dpath_flatten_fields.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,16 @@
1010

1111
@dataclass
1212
class KeyTransformation:
13+
config: Config
1314
parameters: InitVar[Mapping[str, Any]]
1415
prefix: Union[InterpolatedString, str, None] = None
1516
suffix: Union[InterpolatedString, str, None] = None
1617

1718
def __post_init__(self, parameters: Mapping[str, Any]) -> None:
18-
self.prefix = InterpolatedString.create(self.prefix, parameters=parameters)
19-
self.suffix = InterpolatedString.create(self.suffix, parameters=parameters)
19+
if self.prefix is not None:
20+
self.prefix = InterpolatedString.create(self.prefix, parameters=parameters).eval(self.config)
21+
if self.suffix is not None:
22+
self.suffix = InterpolatedString.create(self.suffix, parameters=parameters).eval(self.config)
2023

2124

2225
@dataclass
@@ -52,12 +55,10 @@ def __post_init__(self, parameters: Mapping[str, Any]) -> None:
5255
def _apply_key_transformation(self, extracted: Mapping[str, Any]) -> Mapping[str, Any]:
5356
if self.key_transformation:
5457
if self.key_transformation.prefix:
55-
if prefix := self.key_transformation.prefix.eval(config=self.config):
56-
extracted = {f"{prefix}{key}": value for key, value in extracted.items()}
58+
extracted = {f"{self.key_transformation.prefix}{key}": value for key, value in extracted.items()}
5759

5860
if self.key_transformation.suffix:
59-
if suffix := self.key_transformation.suffix.eval(config=self.config):
60-
extracted = {f"{key}{suffix}": value for key, value in extracted.items()}
61+
extracted = {f"{key}{self.key_transformation.suffix}": value for key, value in extracted.items()}
6162

6263
return extracted
6364

unit_tests/sources/declarative/transformations/test_dpath_flatten_fields.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ def test_dpath_flatten_lists(
188188
expected_record,
189189
):
190190
if key_transformation:
191-
key_transformation = KeyTransformation({}, *key_transformation)
191+
key_transformation = KeyTransformation(config, {}, *key_transformation)
192192

193193
flattener = DpathFlattenFields(
194194
field_path=field_path,

0 commit comments

Comments
 (0)