From f7762145078706e5a0a1b7f9abcd4d5e46c3644a Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Mon, 3 May 2010 19:32:18 +0200 Subject: [PATCH] send messages returned by ICapMessagesReply.post_reply() --- scripts/monboob | 3 ++- weboob/backends/aum/backend.py | 17 +++-------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/scripts/monboob b/scripts/monboob index dc8156fb3c..52feaf4caf 100755 --- a/scripts/monboob +++ b/scripts/monboob @@ -98,7 +98,8 @@ class Monboob(ConsoleApplication): return 1 thread_id, msg_id = id.rsplit('.', 1) - backend.post_reply(thread_id, msg_id, title, content) + for m in backend.post_reply(thread_id, msg_id, title, content): + self.send_email(backend, m) @ConsoleApplication.command("run daemon") def command_run(self): diff --git a/weboob/backends/aum/backend.py b/weboob/backends/aum/backend.py index a13c6e3efe..b97033c84e 100644 --- a/weboob/backends/aum/backend.py +++ b/weboob/backends/aum/backend.py @@ -46,17 +46,12 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesReply, ICapDating): # Private _browser = None _profiles_walker = None - _queue_messages = None def __getattr__(self, name): if name == 'browser': if not self._browser: self._browser = AdopteUnMec(self.config['username'], self.config['password']) return self._browser - if name == 'queue_messages': - if self._queue_messages is None: - self._queue_messages = [] - return self._queue_messages raise AttributeError, name def iter_messages(self, thread=None): @@ -64,11 +59,6 @@ def iter_messages(self, thread=None): yield message def iter_new_messages(self, thread=None): - for message in self.queue_messages: - if not thread or message.get_thread_id() == thread: - yield message - self.queue_messages = [] - for message in self._iter_messages(thread, True): yield message @@ -101,26 +91,25 @@ def _iter_messages(self, thread, only_new): def post_reply(self, thread_id, reply_id, title, message): # Enqueue current awaiting messages for mail in self._iter_messages(thread_id, True): - self.queue_messages.append(mail) + yield mail with self.browser: try: self.browser.post(thread_id, message) except AdopteCantPostMail, e: - mail = Message(thread_id, + yield Message(thread_id, reply_id, 'Unable to send mail to %s' % thread_id, 'AuM', datetime.now(), content=u'Unable to send message to %s:\n\t%s\n\n---\n%s' (thread_id, unicode(e), message), is_html=False) - self.queue_messages.append(mail) else: # Enqueue my messages and every next messages. mails = self.browser.get_thread_mails(thread_id) my_name = self.browser.get_my_name() for mail in mails: - self.queue_messages.append(mail) + yield mail if mail.get_from() == my_name: break -- GitLab