Source code for swimlane.core.resources.record_revision

from swimlane.core.resources.record import Record
from swimlane.core.resources.revision_base import RevisionBase


[docs]class RecordRevision(RevisionBase): """ Encapsulates a single revision returned from a History lookup. Attributes: app_revision_number: The app revision number this record revision was created using. Properties: app_version: Returns an App corresponding to the app_revision_number of this record revision. version: Returns a Record corresponding to the app_version and data contained in this record revision. """ def __init__(self, app, raw): super(RecordRevision, self).__init__(app._swimlane, raw) self.__app_version = None self._app = app self._app_revision_number = self._raw_version['applicationRevision'] @property def app_version(self): """The app revision corresponding to this record revision. Lazy loaded""" if not self.__app_version: self.__app_version = self._app.revisions.get(self.app_revision_number).version return self.__app_version @property def version(self): """The record contained in this record revision. Lazy loaded. Overridden from base class.""" if not self._version: self._version = Record(self.app_version, self._raw_version) return self._version @property def app_revision_number(self): return self._app_revision_number @app_revision_number.setter def app_revision_number(self, value): raise AttributeError("can't set attribute")