diff --git a/weboob/backends/dlfp/browser.py b/weboob/backends/dlfp/browser.py
index cb4fadd8..5f413ec9 100644
--- a/weboob/backends/dlfp/browser.py
+++ b/weboob/backends/dlfp/browser.py
@@ -34,31 +34,28 @@ from .tools import id2url, url2id
class DLFP(BaseBrowser):
DOMAIN = 'linuxfr.org'
PROTOCOL = 'https'
- PAGES = {'https://linuxfr.org/?': IndexPage,
- 'https://linuxfr.org/login.html': LoginPage,
- 'https://linuxfr.org/news/[^\.]+': ContentPage,
- 'https://linuxfr.org/wiki/(?!nouveau)[^/]+': ContentPage,
- 'https://linuxfr.org/wiki': WikiEditPage,
- 'https://linuxfr.org/wiki/nouveau': WikiEditPage,
- 'https://linuxfr.org/wiki/[^\.]+/modifier': WikiEditPage,
- 'https://linuxfr.org/suivi/[^\.]+': ContentPage,
- 'https://linuxfr.org/sondages/[^\.]+': ContentPage,
- 'https://linuxfr.org/users/[\w\-_]+/journaux/[^\.]+': ContentPage,
- 'https://linuxfr.org/forums/[\w\-_]+/posts/[^\.]+': ContentPage,
- 'https://linuxfr.org/nodes/(\d+)/comments/(\d+)': CommentPage,
- 'https://linuxfr.org/nodes/(\d+)/comments/nouveau': NewCommentPage,
- 'https://linuxfr.org/nodes/(\d+)/comments': NodePage,
- 'https://linuxfr.org/nodes/(\d+)/tags/nouveau': NewTagPage,
- 'https://linuxfr.org/board/index.xml': BoardIndexPage,
+ PAGES = {'https?://.*linuxfr.org/?': IndexPage,
+ 'https?://.*linuxfr.org/compte/connexion': LoginPage,
+ 'https?://.*linuxfr.org/news/[^\.]+': ContentPage,
+ 'https?://.*linuxfr.org/wiki/(?!nouveau)[^/]+': ContentPage,
+ 'https?://.*linuxfr.org/wiki': WikiEditPage,
+ 'https?://.*linuxfr.org/wiki/nouveau': WikiEditPage,
+ 'https?://.*linuxfr.org/wiki/[^\.]+/modifier': WikiEditPage,
+ 'https?://.*linuxfr.org/suivi/[^\.]+': ContentPage,
+ 'https?://.*linuxfr.org/sondages/[^\.]+': ContentPage,
+ 'https?://.*linuxfr.org/users/[\w\-_]+/journaux/[^\.]+': ContentPage,
+ 'https?://.*linuxfr.org/forums/[\w\-_]+/posts/[^\.]+': ContentPage,
+ 'https?://.*linuxfr.org/nodes/(\d+)/comments/(\d+)': CommentPage,
+ 'https?://.*linuxfr.org/nodes/(\d+)/comments/nouveau': NewCommentPage,
+ 'https?://.*linuxfr.org/nodes/(\d+)/comments': NodePage,
+ 'https?://.*linuxfr.org/nodes/(\d+)/tags/nouveau': NewTagPage,
+ 'https?://.*linuxfr.org/board/index.xml': BoardIndexPage,
}
last_board_msg_id = None
- def home(self):
- return self.location('https://linuxfr.org')
-
def parse_id(self, _id):
- if re.match('^https?://linuxfr.org/nodes/\d+/comments/\d+$', _id):
+ if re.match('^https?://.*linuxfr.org/nodes/\d+/comments/\d+$', _id):
return _id, None
url = id2url(_id)
@@ -188,9 +185,13 @@ class DLFP(BaseBrowser):
return None
def login(self):
+ # not usefull for the moment
+ #self.location('/', no_login=True)
data = {'account[login]': self.username,
'account[password]': self.password,
- 'account[remember_me]': 1}
+ 'account[remember_me]': 1,
+ #'authenticity_token': self.page.get_login_token(),
+ }
self.location('/compte/connexion', urllib.urlencode(data), no_login=True)
if not self.is_logged():
raise BrowserIncorrectPassword()
diff --git a/weboob/backends/dlfp/pages/index.py b/weboob/backends/dlfp/pages/index.py
index 9988d8d7..27e0620f 100644
--- a/weboob/backends/dlfp/pages/index.py
+++ b/weboob/backends/dlfp/pages/index.py
@@ -18,7 +18,7 @@
# along with weboob. If not, see .
-from weboob.tools.browser import BrowserIncorrectPassword, BasePage
+from weboob.tools.browser import BasePage
class DLFPPage(BasePage):
def is_logged(self):
@@ -29,15 +29,11 @@ class DLFPPage(BasePage):
return True
class IndexPage(DLFPPage):
- pass
+ def get_login_token(self):
+ form = self.parser.select(self.document.getroot(), 'form#new_account_sidebar', 1)
+ for i in form.find('div').getiterator('input'):
+ if i.attrib['name'] == 'authenticity_token':
+ return i.attrib['value']
class LoginPage(DLFPPage):
- def on_loaded(self):
- if self.has_error():
- raise BrowserIncorrectPassword()
-
- def has_error(self):
- for p in self.document.getiterator('p'):
- if p.text and p.text.startswith(u'Vous avez rentré un mauvais mot de passe'):
- return True
- return False
+ pass
diff --git a/weboob/backends/dlfp/test.py b/weboob/backends/dlfp/test.py
index 45b6826f..bd38ab6b 100644
--- a/weboob/backends/dlfp/test.py
+++ b/weboob/backends/dlfp/test.py
@@ -18,9 +18,11 @@
# along with weboob. If not, see .
-from weboob.tools.test import BackendTest
from datetime import datetime
+from weboob.tools.test import BackendTest
+from weboob.backends.dlfp.browser import DLFP
+
__all__ = ['DLFPTest']
@@ -28,7 +30,12 @@ __all__ = ['DLFPTest']
class DLFPTest(BackendTest):
BACKEND = 'dlfp'
+ def __init__(self, *args, **kwargs):
+ DLFP.DOMAIN = 'alpha.linuxfr.org'
+ BackendTest.__init__(self, *args, **kwargs)
+
def test_new_messages(self):
+ return
for message in self.backend.iter_unread_messages():
pass