Source code for swimlane.core.resources.revision_base

import pendulum

from swimlane.core.resources.base import APIResource
from swimlane.core.resources.usergroup import UserGroup


[docs]class RevisionBase(APIResource): """ The base class representing a single revision returned from a History lookup. Attributes: Attributes: modified_date: The date this revision was created. revision_number: The revision number of this revision. status: Indicates whether this revision is the current revision or a historical revision. user: The user that saved this revision. """ def __init__(self, swimlane, raw): super(RevisionBase, self).__init__(swimlane, raw) self._modified_date = pendulum.parse(self._raw['modifiedDate']) self._revision_number = self._raw['revisionNumber'] self.status = self._raw['status'] # UserGroupSelection, can't set as User without additional lookup self._user = UserGroup(self._swimlane, self._raw['userId']) self._raw_version = self._raw['version'] self._version = None def __str__(self): return '{} ({})'.format(self.version, self.revision_number) @property def version(self): raise NotImplementedError
[docs] def for_json(self): """Return revision metadata""" return { 'modifiedDate': self._raw['modifiedDate'], 'revisionNumber': self.revision_number, 'user': self.user.for_json() }
@property def revision_number(self): return self._revision_number @revision_number.setter def revision_number(self, value): raise AttributeError("can't set attribute") @property def modified_date(self): return self._modified_date @modified_date.setter def modified_date(self, value): raise AttributeError("can't set attribute") @property def user(self): return self._user @user.setter def user(self, value): raise AttributeError("can't set attribute")