Files
multi-user/replication_graph.py
Swann Martinez 1c705de7d1 feat: serialize/deserialize logic
feat: basic replication graph for dependency hanfling
refacor: replicateddatablock
2019-07-22 17:42:38 +02:00

30 lines
728 B
Python

import collections
class ReplicationGraph(collections.MutableMapping):
"""
Structure to hold replicated data relation graph
"""
def __init__(self, *args, **kwargs):
self.store = dict()
self.update(dict(*args, **kwargs)) # use the free update to set keys
def __getitem__(self, key):
return self.store[self.__keytransform__(key)]
def __setitem__(self, key, value):
self.store[self.__keytransform__(key)] = value
def __delitem__(self, key):
del self.store[self.__keytransform__(key)]
def __iter__(self):
return iter(self.store)
def __len__(self):
return len(self.store)
def __keytransform__(self, key):
return key