3
from plugin_urlrewriting import UrlRewritingError
4
from flexget.plugin import *
5
from flexget.utils.tools import urlopener
6
from flexget.utils.soup import get_soup
8
log = logging.getLogger('bakabt')
11
class UrlRewriteBakaBT(object):
12
"""BakaBT urlrewriter."""
15
def url_rewritable(self, feed, entry):
17
if url.startswith('http://www.bakabt.com/download/'):
19
if url.startswith('http://www.bakabt.com/') or url.startswith('http://bakabt.com/'):
24
def url_rewrite(self, feed, entry):
25
entry['url'] = self.parse_download_page(entry['url'])
28
def parse_download_page(self, url):
29
txheaders = {'User-agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'}
30
req = urllib2.Request(url, None, txheaders)
31
page = urlopener(req, log)
35
raise UrlRewritingError(e)
36
tag_a = soup.find('a', attrs={'class': 'download_link'})
38
raise UrlRewritingError('Unable to locate download link from url %s' % url)
39
torrent_url = 'http://www.bakabt.com' + tag_a.get('href')
42
register_plugin(UrlRewriteBakaBT, 'bakabt', groups=['urlrewriter'])