[francetelevisions] get better video url
This commit is contained in:
parent
9e40e5b9df
commit
297132e200
2 changed files with 16 additions and 3 deletions
|
|
@ -17,6 +17,8 @@
|
||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
from weboob.tools.browser2 import PagesBrowser, URL
|
from weboob.tools.browser2 import PagesBrowser, URL
|
||||||
from .pages import IndexPage, VideoPage
|
from .pages import IndexPage, VideoPage
|
||||||
|
|
||||||
|
|
@ -36,7 +38,18 @@ class PluzzBrowser(PagesBrowser):
|
||||||
return self.index_page.go(pattern=pattern).iter_videos()
|
return self.index_page.go(pattern=pattern).iter_videos()
|
||||||
|
|
||||||
def get_video(self, _id, video=None):
|
def get_video(self, _id, video=None):
|
||||||
return self.video_page.go(_id=_id).get_video(obj=video)
|
video = self.video_page.go(_id=_id).get_video(obj=video)
|
||||||
|
for item in self.read_url(video.url):
|
||||||
|
pass
|
||||||
|
|
||||||
|
video.url = item
|
||||||
|
return video
|
||||||
|
|
||||||
|
def read_url(self, url):
|
||||||
|
r = requests.get(url, stream=True)
|
||||||
|
buf = r.iter_lines()
|
||||||
|
r.close()
|
||||||
|
return buf
|
||||||
|
|
||||||
def latest_videos(self):
|
def latest_videos(self):
|
||||||
return self.latest_page.go().iter_videos()
|
return self.latest_page.go().iter_videos()
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ from weboob.capabilities.image import BaseImage
|
||||||
from weboob.capabilities.video import BaseVideo
|
from weboob.capabilities.video import BaseVideo
|
||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from dateutil.parser import parse as parse_date
|
|
||||||
|
|
||||||
from weboob.tools.browser2.page import HTMLPage, method, ItemElement, ListElement, JsonPage
|
from weboob.tools.browser2.page import HTMLPage, method, ItemElement, ListElement, JsonPage
|
||||||
from weboob.tools.browser2.filters import Filter, Link, CleanText, Regexp, Attr, Format, DateTime, Env, Dict, Duration
|
from weboob.tools.browser2.filters import Filter, Link, CleanText, Regexp, Attr, Format, DateTime, Env, Dict, Duration
|
||||||
|
|
@ -72,6 +71,7 @@ class VideoPage(JsonPage):
|
||||||
for video in el['videos']:
|
for video in el['videos']:
|
||||||
if video['format'] != 'm3u8-download':
|
if video['format'] != 'm3u8-download':
|
||||||
continue
|
continue
|
||||||
|
|
||||||
self.env['url'] = video['url']
|
self.env['url'] = video['url']
|
||||||
|
|
||||||
obj_id = Env('_id')
|
obj_id = Env('_id')
|
||||||
|
|
@ -80,7 +80,7 @@ class VideoPage(JsonPage):
|
||||||
obj_date = DateTime(Dict('diffusion/date_debut'))
|
obj_date = DateTime(Dict('diffusion/date_debut'))
|
||||||
obj_duration = Duration(Dict('duree'))
|
obj_duration = Duration(Dict('duree'))
|
||||||
obj_description = Dict('synopsis')
|
obj_description = Dict('synopsis')
|
||||||
obj_ext = 'mp4'
|
obj_ext = 'm3u8'
|
||||||
|
|
||||||
def obj_thumbnail(self):
|
def obj_thumbnail(self):
|
||||||
url = Format('http://pluzz.francetv.fr%s', Dict('image'))(self)
|
url = Format('http://pluzz.francetv.fr%s', Dict('image'))(self)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue