@@ -25,18 +25,18 @@ class DpathFlattenFields(RecordTransformation):
25
25
parameters : InitVar [Mapping [str , Any ]]
26
26
delete_origin_value : bool = False
27
27
replace_record : bool = False
28
- key_transformation : Union [InterpolatedString , str ] = None
28
+ key_transformation : Union [InterpolatedString , str , None ] = None
29
29
30
30
def __post_init__ (self , parameters : Mapping [str , Any ]) -> None :
31
+ self ._parameters = parameters
31
32
self ._field_path = [
32
- InterpolatedString .create (path , parameters = parameters ) for path in self .field_path
33
+ InterpolatedString .create (path , parameters = self . _parameters ) for path in self .field_path
33
34
]
34
35
for path_index in range (len (self .field_path )):
35
36
if isinstance (self .field_path [path_index ], str ):
36
37
self ._field_path [path_index ] = InterpolatedString .create (
37
- self .field_path [path_index ], parameters = parameters
38
+ self .field_path [path_index ], parameters = self . _parameters
38
39
)
39
- self .parameters = parameters
40
40
41
41
def transform (
42
42
self ,
@@ -53,11 +53,12 @@ def transform(
53
53
extracted = dpath .get (record , path , default = [])
54
54
55
55
if isinstance (extracted , dict ):
56
-
57
56
if self .key_transformation :
58
57
updated_extracted = {}
59
58
for key , value in extracted .items ():
60
- updated_key = InterpolatedString .create (self .key_transformation , parameters = self .parameters ).eval (key = key , config = self .config )
59
+ updated_key = InterpolatedString .create (
60
+ self .key_transformation , parameters = self ._parameters
61
+ ).eval (key = key , config = self .config )
61
62
updated_extracted [updated_key ] = value
62
63
extracted = updated_extracted
63
64
0 commit comments