From 843db82d8a5c5b4888ecc13d92be9f1c54d373ac Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Fri, 13 Aug 2010 16:24:59 +0200 Subject: [PATCH] port QHaveSex and QBoobMsg to new ICapMessage.Message API --- .../applications/qboobmsg/messages_manager.py | 6 +++--- weboob/applications/qhavesex/contacts.py | 17 +++++++++-------- weboob/core/ouiboube.py | 3 +++ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/weboob/applications/qboobmsg/messages_manager.py b/weboob/applications/qboobmsg/messages_manager.py index e4ec5699..d53f09a2 100644 --- a/weboob/applications/qboobmsg/messages_manager.py +++ b/weboob/applications/qboobmsg/messages_manager.py @@ -82,7 +82,7 @@ class MessagesManager(QWidget): self.process = None return - item = QTreeWidgetItem(None, [time.strftime('%Y-%m-%d %H:%M:%S', message.get_date().timetuple()), + item = QTreeWidgetItem(None, [time.strftime('%Y-%m-%d %H:%M:%S', message.date.timetuple()), message.sender, message.title]) item.setData(0, Qt.UserRole, message) @@ -99,7 +99,7 @@ class MessagesManager(QWidget): for i in xrange(root.childCount()): sub = root.child(i) sub_message = sub.data(0, Qt.UserRole).toPyObject() - if sub_message.thread_id == message.thread_id and sub_message.reply_id == message.id: + if sub_message.thread_id == message.thread_id and sub_message.parent_message_id == message.message_id: # do not remove it now because childCount() would change. to_remove.append(sub) @@ -111,7 +111,7 @@ class MessagesManager(QWidget): top_message = top.data(0, Qt.UserRole).toPyObject() item_message = item.data(0, Qt.UserRole).toPyObject() - if top_message and top_message.thread_id == item_message.thread_id and top_message.id == item_message.reply_id: + if top_message and top_message.thread_id == item_message.thread_id and top_message.id == item_message.parent_message_id: # it's my parent top.addChild(item) return True diff --git a/weboob/applications/qhavesex/contacts.py b/weboob/applications/qhavesex/contacts.py index d21a02a4..86028871 100644 --- a/weboob/applications/qhavesex/contacts.py +++ b/weboob/applications/qhavesex/contacts.py @@ -42,11 +42,11 @@ class ThreadMessage(QFrame): self.ui = Ui_ThreadMessage() self.ui.setupUi(self) - self.date = message.get_date() + self.date = message.date self.ui.nameLabel.setText(message.sender) - self.ui.headerLabel.setText(time.strftime('%Y-%m-%d %H:%M:%S', message.get_date().timetuple())) - if message.is_html: + self.ui.headerLabel.setText(time.strftime('%Y-%m-%d %H:%M:%S', message.date.timetuple())) + if message.flags & message.IS_HTML: content = message.content else: content = message.content.replace('&', '&').replace('<', '<').replace('>', '>').replace('\n', '
') @@ -128,7 +128,7 @@ class ContactProfile(QWidget): self.weboob = weboob self.contact = contact - if self.gotProfile(contact.backend, contact): + if self.gotProfile(self.weboob.get_backend(contact.backend), contact): self.process_contact = QtDo(self.weboob, self.gotProfile) self.process_contact.do('fillobj', self.contact, ['photos', 'profile'], backends=self.contact.backend) @@ -218,7 +218,6 @@ class MetaGroup(IGroup): def cb(self, cb, backend, contact): if contact: - contact.backend = backend cb(contact) elif not backend: self.process = None @@ -290,7 +289,7 @@ class ContactsWidget(QWidget): status += u' — %s' % contact.status_msg item = QListWidgetItem() - item.setText('

%s

%s
%s' % (contact.name, status_color, status, contact.backend.name)) + item.setText('

%s

%s
%s' % (contact.name, status_color, status, contact.backend)) item.setData(Qt.UserRole, contact) process = QtDo(self.weboob, lambda b, c: self.setPhoto(c, item)) @@ -315,10 +314,12 @@ class ContactsWidget(QWidget): if not self.contact: return + backend = self.weboob.get_backend(self.contact.backend) + self.ui.tabWidget.addTab(ContactProfile(self.weboob, self.contact), self.tr('Profile')) - if self.contact.backend.has_caps(ICapMessages): + if backend.has_caps(ICapMessages): self.ui.tabWidget.addTab(ContactThread(self.weboob, self.contact), self.tr('Messages')) - if self.contact.backend.has_caps(ICapChat): + if backend.has_caps(ICapChat): self.ui.tabWidget.addTab(QWidget(), self.tr('Chat')) self.ui.tabWidget.addTab(QWidget(), self.tr('Calendar')) self.ui.tabWidget.addTab(QWidget(), self.tr('Notes')) diff --git a/weboob/core/ouiboube.py b/weboob/core/ouiboube.py index 2282600b..c7ffaffd 100644 --- a/weboob/core/ouiboube.py +++ b/weboob/core/ouiboube.py @@ -114,6 +114,9 @@ class Weboob(object): with backend: backend.deinit() + def get_backend(self, name): + return self.backend_instances[name] + def iter_backends(self, caps=None): """ Iter on each backends.