class ReadOnlyLogger: __version__ = '0.0.0' def __init__(self, backend): self._backend = TranslatingBackend(Log, backend) def get(self, ref): return self._backend.get(ref) def latest_snapshot(self): return self._backend.first(Q('operation', 'eq', Operation.SNAPSHOT), O('modified_on', O.DESCENDING)) def after(self, timestamp): return self._backend.query(Q('modified_on', 'gt', timestamp), O('modified_on', O.ASCENDING)) def history(self, record_id): """Returns all logs pretaining to the specified record_id newest to oldest >>> self.history('myid')[0] # Current state >>> self.history('myid')[-1] # Initial value, generally a rename or create """ return self._backend.query(Q('record_id', 'eq', record_id), O('modified_on', O.DESCENDING)) def list(self, order=None): return self._backend.list(order) def bulk_read(self, keys): return self._backend.query(Q('ref', 'in', keys)) def __repr__(self): return '<{}({})>'.format(self.__class__.__name__, self._backend)
class ReadOnlyLogger: __version__ = "0.0.0" def __init__(self, backend): self._backend = TranslatingBackend(Log, backend) def get(self, ref): return self._backend.get(ref) def latest_snapshot(self): return self._backend.first(Q("operation", "eq", Operation.SNAPSHOT), O("modified_on", O.DESCENDING)) def after(self, timestamp): return self._backend.query(Q("modified_on", "gt", timestamp), O("modified_on", O.ASCENDING)) def history(self, record_id): """Returns all logs pretaining to the specified record_id newest to oldest >>> self.history('myid')[0] # Current state >>> self.history('myid')[-1] # Initial value, generally a rename or create """ return self._backend.query(Q("record_id", "eq", record_id), O("modified_on", O.DESCENDING)) def list(self, order=None): return self._backend.list(order) def bulk_read(self, keys): return self._backend.query(Q("ref", "in", keys)) def __repr__(self): return "<{}({})>".format(self.__class__.__name__, self._backend)
class ReadOnlyStorage: def __init__(self, backend): self._backend = TranslatingBackend(DataObject, backend) def get(self, key): return self._backend.get(key) def bulk_read(self, keys): return self._backend.query(Q('ref', 'in', keys))
class ReadOnlyStorage: def __init__(self, backend): self._backend = TranslatingBackend(DataObject, backend) def get(self, key): return self._backend.get(key) def bulk_read(self, keys): return self._backend.query(Q('ref', 'in', keys)) def __repr__(self): return '<{}({})>'.format(self.__class__.__name__, self._backend)