(value)
| 305 | return thing |
| 306 | |
| 307 | def process(value): |
| 308 | if isinstance(value, list): |
| 309 | return [process(v) for v in value] |
| 310 | elif isinstance(value, client.Thing): |
| 311 | if value.key: |
| 312 | if value.type.key in ["/type/delete", "/type/revert"]: |
| 313 | return revert(value) |
| 314 | else: |
| 315 | return value |
| 316 | else: |
| 317 | for k in value: |
| 318 | value[k] = process(value[k]) |
| 319 | return value |
| 320 | else: |
| 321 | return value |
| 322 | |
| 323 | for k in thing: |
| 324 | thing[k] = process(thing[k]) |