From b4bdb1fc928015ae09344bc5066ced94b5cfd4a6 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Sat, 17 May 2014 13:11:26 +0200 Subject: [PATCH] use URL.id2url to parse url if any, and ignore unwanted urls --- modules/francetelevisions/browser.py | 19 +++++++++---------- modules/francetelevisions/pages.py | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/modules/francetelevisions/browser.py b/modules/francetelevisions/browser.py index 84294195..0910bbac 100644 --- a/modules/francetelevisions/browser.py +++ b/modules/francetelevisions/browser.py @@ -17,7 +17,6 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . -import requests from weboob.tools.browser2 import PagesBrowser, URL from .pages import IndexPage, VideoPage @@ -30,23 +29,23 @@ class PluzzBrowser(PagesBrowser): BASEURL = 'http://pluzz.francetv.fr' - index_page = URL('recherche\?recherche=(?P.*)', IndexPage) - latest_page = URL('lesplusrecents', IndexPage) - video_page = URL('http://webservices.francetelevisions.fr/tools/getInfosOeuvre/v2/\?idDiffusion=(?P<_id>.*)&catalogue=Pluzz', VideoPage) + index_page = URL(r'recherche\?recherche=(?P.*)', IndexPage) + latest_page = URL(r'lesplusrecents', IndexPage) + video_page = URL(r'http://webservices.francetelevisions.fr/tools/getInfosOeuvre/v2/\?idDiffusion=(?P.*)&catalogue=Pluzz', VideoPage) def search_videos(self, pattern): return self.index_page.go(pattern=pattern).iter_videos() - def get_video(self, _id, video=None): - video = self.video_page.go(_id=_id).get_video(obj=video) + @video_page.id2url + def get_video(self, url, video=None): + self.location(url) + video = self.page.get_video(obj=video) for item in self.read_url(video.url): - pass - - video.url = u'%s' % item + video.url = u'%s' % item return video def read_url(self, url): - r = requests.get(url, stream=True) + r = self.open(url, stream=True) buf = r.iter_lines() r.close() return buf diff --git a/modules/francetelevisions/pages.py b/modules/francetelevisions/pages.py index e7cb8d25..3959e8ca 100644 --- a/modules/francetelevisions/pages.py +++ b/modules/francetelevisions/pages.py @@ -74,7 +74,7 @@ class VideoPage(JsonPage): self.env['url'] = video['url'] - obj_id = Env('_id') + obj_id = Env('id') obj_title = Format(u'%s - %s', Dict('titre'), Dict('sous_titre')) obj_url = Env('url') obj_date = DateTime(Dict('diffusion/date_debut'))