def __init__(self, data={}, actor=None, key=None): """ Automatically records a timestamp as well. """ if data.get('type', self.TYPE) != self.TYPE: raise TypeError("Incompatible activity type.") self._data = { 'ts': Services.time.time(), 'type': self.TYPE, } if actor: #TODO have a UserDetails for example.com too to get rid of this branch. if settings.PROJECT == 'canvas': self._data['actor'] = { 'username': actor.username, 'id': actor.id } elif settings.PROJECT == 'drawquest': self._data['actor'] = UserDetails.from_id(actor.id).to_client() self._data.update(data) if 'id' not in self._data: from apps.activity.models import Activity db_activity = Activity.from_redis_activity(self, key=key) self._data['id'] = db_activity.id
def push(self, activity_item): from apps.activity.models import Activity if not hasattr(activity_item, 'id'): dbactivity = Activity.from_redis_activity(activity_item) id_ = dbactivity.id else: id_ = activity_item.id self._buffer.bump(id_, coerce=False) self._invalidate_cache()
def push(self, activity_item): from apps.activity.models import Activity if not hasattr(activity_item, 'id'): dbactivity = Activity.from_redis_activity(activity_item) id_ = dbactivity.id else: id_ = activity_item.id self._buffer.bump(id_, coerce=False) self._invalidate_cache()
def __init__(self, data={}, actor=None, key=None): """ Automatically records a timestamp as well. """ if data.get('type', self.TYPE) != self.TYPE: raise TypeError("Incompatible activity type.") self._data = { 'ts': Services.time.time(), 'type': self.TYPE, } if actor: #TODO have a UserDetails for example.com too to get rid of this branch. if settings.PROJECT == 'canvas': self._data['actor'] = {'username': actor.username, 'id': actor.id} elif settings.PROJECT == 'drawquest': self._data['actor'] = UserDetails.from_id(actor.id).to_client() self._data.update(data) if 'id' not in self._data: from apps.activity.models import Activity db_activity = Activity.from_redis_activity(self, key=key) self._data['id'] = db_activity.id