From aeec154a3dccddf7abb14ae5dc1236918618f9ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Avil=C3=A9s?= Date: Tue, 4 Nov 2014 16:36:13 +0100 Subject: [PATCH] Add object and object_ref properties --- livesync/indico_livesync/models/queue.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/livesync/indico_livesync/models/queue.py b/livesync/indico_livesync/models/queue.py index 218791c..ba8594b 100644 --- a/livesync/indico_livesync/models/queue.py +++ b/livesync/indico_livesync/models/queue.py @@ -16,12 +16,15 @@ from __future__ import unicode_literals +from werkzeug.datastructures import ImmutableDict + from indico.core.db.sqlalchemy import db, UTCDateTime from indico.util.date_time import now_utc from indico.util.string import return_ascii from indico.util.struct.enum import IndicoEnum from indico_livesync.models.agents import LiveSyncAgent +from indico_livesync.util import obj_deref class ChangeType(int, IndicoEnum): @@ -101,6 +104,17 @@ class LiveSyncQueueEntry(db.Model): backref=db.backref('queue', cascade='all, delete-orphan', lazy='dynamic') ) + @property + def object(self): + """Returns the changed object""" + return obj_deref(self.object_ref) + + @property + def object_ref(self): + """Returns the reference of the changed object""" + return ImmutableDict(type=self.type, category_id=self.category_id, event_id=self.event_id, + contrib_id=self.contrib_id, subcontrib_id=self.subcontrib_id) + @return_ascii def __repr__(self): return ''.format(self.agent, self.id, ChangeType(self.change).name,