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
9
log = logging.getLogger('deadfrog')
12
class UrlRewriteDeadFrog(object):
13
"""DeadFrog urlrewriter."""
16
def url_rewritable(self, feed, entry):
18
if url.startswith('http://www.deadfrog.us/download/'):
20
if url.startswith('http://www.deadfrog.us/') or url.startswith('http://deadfrog.us/'):
25
def url_rewrite(self, feed, entry):
26
entry['url'] = self.parse_download_page(entry['url'])
29
def parse_download_page(self, url):
30
txheaders = {'User-agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'}
31
req = urllib2.Request(url, None, txheaders)
32
page = urlopener(req, log)
36
raise UrlRewritingError(e)
37
down_link = soup.find('a', attrs={'href': re.compile("download/\d+/.*\.torrent")})
39
raise UrlRewritingError('Unable to locate download link from url %s' % url)
40
return 'http://www.deadfrog.us/' + down_link.get('href')
42
register_plugin(UrlRewriteDeadFrog, 'deadfrog', groups=['urlrewriter'])