Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def set(self, data=None, uri=None):
- def deep_iterate(value, _uri):
- _uri = self.sanitize_uri(_uri)
- def parse(segment, location):
- parts = location.split('/', 1)
- target = parts[0]
- if len(parts) > 1:
- if target not in segment:
- segment[target] = {}
- parse(segment[target], parts[1])
- else:
- segment[target] = value
- if _uri and '/' in _uri:
- parse(self.data, _uri)
- elif _uri is None or _uri == '.':
- self.data = value
- else:
- self.data = {**self.data, **{_uri: value}}
- if isinstance(data, dict):
- def iterate(member, location=None):
- for key, item in member.items():
- if isinstance(item, dict):
- iterate(item, key)
- else:
- deep_iterate(item, location + '/' + key)
- iterate(data, uri)
- else:
- deep_iterate(data, uri)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement