weboob-devel/modules/kickass/browser.py
Laurent Bachelier 67d776552f Make kickass code less crappy
This does not actually fix anything; the issue was that the page was
gzipped. However, since the code was not checking anything, it took me
some time to realize it. We now have at least one "BrokenPageError"
check.
2012-03-09 01:43:45 +01:00

50 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
# Copyright(C) 2010-2011 Julien Veyssier
#
# This file is part of weboob.
#
# weboob is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# weboob is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from weboob.tools.browser import BaseBrowser
from .pages import TorrentsPage, TorrentPage
__all__ = ['KickassBrowser']
class KickassBrowser(BaseBrowser):
DOMAIN = 'kat.ph'
PROTOCOL = 'http'
ENCODING = 'utf-8'
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
PAGES = {
'http://kat.ph/usearch/.*field=seeders&sorder=desc': TorrentsPage,
'http://kat.ph/.*.html': TorrentPage,
}
def home(self):
return self.location('http://kat.ph')
def iter_torrents(self, pattern):
self.location('http://kat.ph/usearch/%s/?field=seeders&sorder=desc' % pattern.encode('utf-8'))
assert self.is_on_page(TorrentsPage)
return self.page.iter_torrents()
def get_torrent(self, id):
self.location('http://kat.ph/%s.html' % id)
assert self.is_on_page(TorrentPage)
return self.page.get_torrent(id)