handle required fields and forbidden videos

This commit is contained in:
Christophe Benz 2010-07-12 03:11:54 +02:00
commit 62fc2a87c7
5 changed files with 128 additions and 95 deletions

View file

@ -19,7 +19,7 @@
from weboob.tools.browser import BaseBrowser
from weboob.tools.browser.decorators import id2url
from .pages import VideoPage
from .pages import ForbiddenVideoPage, VerifyAgePage, VideoPage
from .video import YoutubeVideo
@ -28,10 +28,15 @@ __all__ = ['YoutubeBrowser']
class YoutubeBrowser(BaseBrowser):
DOMAIN = u'youtube.com'
PAGES = {'.*youtube\.com/watch\?v=(.+)': VideoPage,
PAGES = {'.*youtube\.com/watch\?v=(?P<id>.+)': VideoPage,
'.*youtube\.com/index\?ytsession=.+': ForbiddenVideoPage,
'.*youtube\.com/verify_age\?next_url=(?P<next_url>.+)': VerifyAgePage,
}
@id2url(YoutubeVideo.id2url)
def get_video(self, url):
self.location(url)
return self.page.video
if hasattr(self.page, 'video'):
return self.page.video
else:
return None