Skip to content

Commit 426e794

Browse files
committed
Fixed overwriting items in DottedPathDict
1 parent fe9ea47 commit 426e794

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

telegram2elastic.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,14 @@ def get(self, path, default=None):
7575
return nested_dict.get(path[0], default)
7676

7777
def set(self, path, value):
78-
path = path.split(".", 1)
79-
80-
key = path.pop(0)
81-
82-
if not path:
83-
self[key] = value
84-
return
78+
node = self
79+
path_parts = path.split(".")
8580

86-
new_dict = DottedPathDict()
87-
self[key] = new_dict
81+
for level in path_parts[:-1]:
82+
if level:
83+
node = node.setdefault(level, {})
8884

89-
new_dict.set(path[0], value)
85+
node[path_parts[-1]] = value
9086

9187

9288
def json_default(value):

0 commit comments

Comments
 (0)