Conditions | 3 |
Total Lines | 10 |
Code Lines | 9 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | from benedict.core.groupby import groupby |
||
11 | def nest(items, id_key, parent_id_key, children_key): |
||
12 | if any( |
||
13 | [id_key == parent_id_key, id_key == children_key, parent_id_key == children_key] |
||
14 | ): |
||
15 | raise ValueError("keys should be different.") |
||
16 | nested_items = groupby(items, parent_id_key) |
||
17 | root_items = nested_items.get(None, []) |
||
18 | for item in root_items: |
||
19 | _nest_items(nested_items, item, id_key, children_key) |
||
20 | return nested_items.get(None) |
||
21 |