fix kickass

This commit is contained in:
Romain Bignon 2012-02-05 17:53:44 +01:00
commit de3f137d85
2 changed files with 13 additions and 9 deletions

View file

@ -27,24 +27,24 @@ __all__ = ['KickassBrowser']
class KickassBrowser(BaseBrowser): class KickassBrowser(BaseBrowser):
DOMAIN = 'kickasstorrents.com' DOMAIN = 'kat.ph'
PROTOCOL = 'http' PROTOCOL = 'http'
ENCODING = 'utf-8' ENCODING = 'utf-8'
USER_AGENT = BaseBrowser.USER_AGENTS['wget'] USER_AGENT = BaseBrowser.USER_AGENTS['wget']
PAGES = { PAGES = {
'http://fr.(kickasstorrents.com|kat.ph)/new/.*field=seeders&sorder=desc': TorrentsPage, 'http://kat.ph/new/.*field=seeders&sorder=desc': TorrentsPage,
'http://fr.(kickasstorrents.com|kat.ph)/.*.html': TorrentPage, 'http://kat.ph/.*.html': TorrentPage,
} }
def home(self): def home(self):
return self.location('http://kickasstorrents.com') return self.location('http://kat.ph')
def iter_torrents(self, pattern): def iter_torrents(self, pattern):
self.location('http://fr.kickasstorrents.com/new/?q=%s&field=seeders&sorder=desc' % pattern.encode('utf-8')) self.location('http://kat.ph/new/?q=%s&field=seeders&sorder=desc' % pattern.encode('utf-8'))
assert self.is_on_page(TorrentsPage) assert self.is_on_page(TorrentsPage)
return self.page.iter_torrents() return self.page.iter_torrents()
def get_torrent(self, id): def get_torrent(self, id):
self.location('http://fr.kickasstorrents.com/%s.html' % id) self.location('http://kat.ph/%s.html' % id)
assert self.is_on_page(TorrentPage) assert self.is_on_page(TorrentPage)
return self.page.get_torrent(id) return self.page.get_torrent(id)

View file

@ -25,6 +25,7 @@ except ImportError:
from urlparse import urlsplit from urlparse import urlsplit
from weboob.capabilities.torrent import Torrent from weboob.capabilities.torrent import Torrent
from weboob.capabilities.base import NotAvailable
from weboob.tools.browser import BasePage from weboob.tools.browser import BasePage
from weboob.tools.misc import get_bytes_size from weboob.tools.misc import get_bytes_size
@ -71,8 +72,9 @@ class TorrentPage(BasePage):
def get_torrent(self, id): def get_torrent(self, id):
seed = 0 seed = 0
leech = 0 leech = 0
description = 'No description' description = NotAvailable
url = 'No Url found' url = NotAvailable
title = NotAvailable
for div in self.document.getiterator('div'): for div in self.document.getiterator('div'):
if div.attrib.get('id', '') == 'desc': if div.attrib.get('id', '') == 'desc':
try: try:
@ -99,6 +101,7 @@ class TorrentPage(BasePage):
url = a.attrib.get('href', '') url = a.attrib.get('href', '')
size = 0 size = 0
u = ''
for span in self.document.getiterator('span'): for span in self.document.getiterator('span'):
# sometimes there are others span, this is not so sure but the size of the children list # sometimes there are others span, this is not so sure but the size of the children list
# is enough to know if this is the right span # is enough to know if this is the right span
@ -114,7 +117,8 @@ class TorrentPage(BasePage):
torrent = Torrent(id, title) torrent = Torrent(id, title)
torrent.url = url torrent.url = url
torrent.filename = parse_qs(urlsplit(url).query).get('title', [None])[0] if torrent.url:
torrent.filename = parse_qs(urlsplit(url).query).get('title', [None])[0]
torrent.size = get_bytes_size(size, u) torrent.size = get_bytes_size(size, u)
torrent.seeders = int(seed) torrent.seeders = int(seed)
torrent.leechers = int(leech) torrent.leechers = int(leech)