upgrade to browser2

This commit is contained in:
Romain Bignon 2014-03-09 15:44:28 +01:00
commit af9197fba7
4 changed files with 89 additions and 83 deletions

View file

@ -18,9 +18,7 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import urllib
from weboob.tools.browser import BaseBrowser
from weboob.tools.browser2 import PagesBrowser, URL
from weboob.tools.browser.decorators import id2url
from .pages.index import IndexPage
@ -31,27 +29,28 @@ from .video import YoujizzVideo
__all__ = ['YoujizzBrowser']
class YoujizzBrowser(BaseBrowser):
DOMAIN = 'youjizz.com'
ENCODING = None
PAGES = {r'http://.*youjizz\.com/?': IndexPage,
r'http://.*youjizz\.com/index.php': IndexPage,
r'http://.*youjizz\.com/search/(?P<pattern>.+)\.html': IndexPage,
r'http://.*youjizz\.com/videos/(?P<id>.+)\.html': VideoPage,
}
class YoujizzBrowser(PagesBrowser):
BASEURL = 'http://www.youjizz.com'
index = URL(r'/?(index.php)?$', IndexPage)
search = URL(r'/search/(?P<pattern>.+)-(?P<pagenum>\d+).html', IndexPage)
video = URL(r'/videos/(?P<id>.*).html', VideoPage)
@id2url(YoujizzVideo.id2url)
def get_video(self, url, video=None):
self.location(url)
assert self.is_on_page(VideoPage), 'Should be on video page.'
assert self.video.is_here()
return self.page.get_video(video)
def search_videos(self, pattern):
self.location('/search/%s-1.html' % (urllib.quote_plus(pattern.encode('utf-8'))))
assert self.is_on_page(IndexPage)
return self.page.iter_videos()
self.search.go(pattern=pattern, pagenum=1)
assert self.search.is_here()
return self.pagination(lambda: self.page.iter_videos())
def latest_videos(self):
self.home()
assert self.is_on_page(IndexPage)
return self.page.iter_videos()
self.index.go()
assert self.index.is_here()
return self.pagination(lambda: self.page.iter_videos())