From 9cb692a888aa14b9fdc6aadc52a4c02a99b65517 Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Thu, 11 Mar 2010 11:37:54 +0100 Subject: [PATCH] use iterators --- weboob/backends/aum/backend.py | 2 +- weboob/backends/dlfp/backend.py | 8 +++++--- weboob/backends/dlfp/feeds.py | 4 ++-- weboob/capabilities/messages.py | 2 +- weboob2mail | 5 ++--- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/weboob/backends/aum/backend.py b/weboob/backends/aum/backend.py index 84e7be9767..2f312bac97 100644 --- a/weboob/backends/aum/backend.py +++ b/weboob/backends/aum/backend.py @@ -25,5 +25,5 @@ class AuMBackend(Backend, ICapMessages, ICapMessagesReply): def __init__(self, weboob): Backend.__init__(self, weboob) - def getNewMessages(self, thread=None): + def iter_messages(self, thread=None): pass diff --git a/weboob/backends/dlfp/backend.py b/weboob/backends/dlfp/backend.py index 2a955802b7..80c63bdc72 100644 --- a/weboob/backends/dlfp/backend.py +++ b/weboob/backends/dlfp/backend.py @@ -20,11 +20,13 @@ from weboob.backend import Backend from weboob.capabilities.messages import ICapMessages, ICapMessagesReply, Message +from feeds import ArticlesList class DLFPBackend(Backend, ICapMessages, ICapMessagesReply): def __init__(self, weboob): Backend.__init__(self, weboob) - def getNewMessages(self, thread=None): - m = Message('threadid', 'msgid', 'Title', 'Sender', signature='Bite bite bite bite', content='Content content\nContent content.') - return [m] + def iter_messages(self, thread=None): + articles_list = ArticlesList('newspaper') + for id, author, title in articles_list.iter_articles(): + yield Message('threadid', id, title, author, signature='Bite bite bite bite', content='Content content\nContent content.') diff --git a/weboob/backends/dlfp/feeds.py b/weboob/backends/dlfp/feeds.py index ea06a873a1..f067cbc633 100644 --- a/weboob/backends/dlfp/feeds.py +++ b/weboob/backends/dlfp/feeds.py @@ -47,7 +47,7 @@ def __init__(self, section=None): self.section = section self.articles = [] - def fetch(self): + def iter_articles(self): for section, klass in self.RSS.iteritems(): if self.section and self.section != section: continue @@ -61,4 +61,4 @@ def fetch(self): continue _id = m.group(1) article = klass(_id, item['link'], item['title'], item['author'], item['date_parsed']) - print _id, item['author'], item['title'] + yield _id, item['author'], item['title'] diff --git a/weboob/capabilities/messages.py b/weboob/capabilities/messages.py index 86a62471d9..754c6ebf57 100644 --- a/weboob/capabilities/messages.py +++ b/weboob/capabilities/messages.py @@ -73,7 +73,7 @@ def isNew(self): return self.new class ICapMessages: - def getNewMessages(self, thread=None): + def iter_messages(self, thread=None): """ Get new messages from last time this function has been called. diff --git a/weboob2mail b/weboob2mail index 6bc3ff0e39..93d8770435 100755 --- a/weboob2mail +++ b/weboob2mail @@ -59,9 +59,8 @@ class Application(BaseApplication): def process(self): backends = self.weboob.getBackends() for name, b in backends.iteritems(): - messages = b.getNewMessages() - for m in messages: - self.send_email(name, m) + for message in b.iter_messages(): + self.send_email(name, message) def send_email(self, backend_name, mail): domain = self.config['domain'] -- GitLab