diff --git a/weboob/backends/dlfp/backend.py b/weboob/backends/dlfp/backend.py index c9e5c271..4cb7a1ec 100644 --- a/weboob/backends/dlfp/backend.py +++ b/weboob/backends/dlfp/backend.py @@ -44,7 +44,7 @@ class DLFPBackend(BaseBackend, ICapMessages, ICapMessagesPost): BROWSER = DLFP RSS_TELEGRAMS= "https://linuxfr.org/backend/journaux/rss20.rss" RSS_NEWSPAPERS = "https://linuxfr.org/backend/news/rss20.rss" - + def create_default_browser(self): return self.create_browser(self.config['username'], self.config['password']) @@ -55,7 +55,7 @@ class DLFPBackend(BaseBackend, ICapMessages, ICapMessagesPost): whats.add(self.RSS_NEWSPAPERS) if self.config['get_telegrams']: whats.add(self.RSS_TELEGRAMS) - + for what in whats: for article in Newsfeed(what, url2id).iter_entries(): diff --git a/weboob/backends/newsfeed/backend.py b/weboob/backends/newsfeed/backend.py index 10680afa..bef29ea6 100644 --- a/weboob/backends/newsfeed/backend.py +++ b/weboob/backends/newsfeed/backend.py @@ -18,29 +18,29 @@ from weboob.tools.backend import BaseBackend from weboob.capabilities.messages import ICapMessages, Message, Thread -from weboob.tools.newsfeed import Newsfeed +from weboob.tools.newsfeed import Newsfeed + - class NewsfeedBackend(BaseBackend, ICapMessages): NAME = 'newsfeed' MAINTAINER = u"Clément Schreiner" EMAIL = "clemux@clemux.info" - VERSION = "0.1" + VERSION = "0.3" DESCRIPTION = "Loads RSS and Atom feeds from any websites" LICENSE = "GPLv3" CONFIG = {'url': BaseBackend.ConfigField(description="Atom/RSS feed's url"),} STORAGE = {'seen': []} - - + + def iter_threads(self): for article in Newsfeed(self.config["url"]).iter_entries(): thread = Thread(article.id) thread.title = article.title yield thread - - + + def get_thread(self, id): if isinstance(id, Thread): @@ -68,8 +68,8 @@ class NewsfeedBackend(BaseBackend, ICapMessages): children=[], flags=flags) return thread - - + + def iter_unread_messages(self, thread=None): for thread in self.iter_threads(): diff --git a/weboob/tools/newsfeed.py b/weboob/tools/newsfeed.py index 6a1a32b2..72fa874f 100644 --- a/weboob/tools/newsfeed.py +++ b/weboob/tools/newsfeed.py @@ -19,6 +19,9 @@ import datetime import feedparser +__all__ = ['Entry', 'Newsfeed'] + + class Entry: def __init__(self, entry, url2id=None): if url2id: @@ -50,7 +53,7 @@ class Entry: self.summary = entry["summary"] else: self.summary = None - + self.content = [] if entry.has_key("content"): for i in entry["content"]: @@ -59,18 +62,12 @@ class Entry: self.content.append(self.summary) else: self.content = None - - - class Newsfeed: def __init__(self, url, url2id=None): self.feed = feedparser.parse(url) self.url2id = url2id - - - def iter_entries(self): for entry in self.feed['entries']: yield Entry(entry, self.url2id) @@ -79,4 +76,3 @@ class Newsfeed: for entry in self.feed['entries']: if entry.id == id: return Entry(entry, self.url2id) -