У меня есть требование обновлять / объединять вложенный дочерний элемент dict. Я пробовал dict.update
, но он лишает родного брата (get_users
в приведенном ниже примере).
Я могу обновить dict как tree['endpoints']['get_tickets']['handlers']['after'] = 'new_after_handler'
, но эти ключи будут динамическими c, Исходя из строки, есть идеи, как этого добиться?
Так что я в основном хочу пройти тест ниже, конечно, endpoints.get_tickets.handlers
будет Dynami c.
def test_partial_merge(self):
source = {
"name": "tucktock",
"endpoints": {
"get_tickets": {
"path": "tickets",
"handlers": {
"after": "after_handler",
"after_each": "after_each_handler"
}
},
"get_users": {},
},
}
merging = {
"after": "new_after_handler",
}
expected = {
"name": "tucktock",
"endpoints": {
"get_tickets": {
"path": "tickets",
"handlers": {
"after": "new_after_handler",
"after_each": "after_each_handler"
}
},
"get_users": {},
},
}
merger = Merger()
result = merger.merge(source, merging, "endpoints.get_tickets.handlers")
self.assertEqual(expected, result)