Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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))
Exemple #4
0
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))
Exemple #5
0
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)