More torcache fixes

- reverted back to rss for kat so we can use magnet links instead of
torcache link for transmission, utorrent. Also now uses the kat
’lossless’ category instead of going out to torcache to check for flac.
- added torcache referer for blackhole
This commit is contained in:
Ade
2015-09-14 21:31:38 +12:00
parent 912d5c4d78
commit 3b6c986704

View File

@@ -800,6 +800,7 @@ def send_to_downloader(data, bestqual, album):
services = TORRENT_TO_MAGNET_SERVICES[:]
random.shuffle(services)
headers = {'User-Agent': USER_AGENT}
headers['Referer'] = 'https://torcache.net/'
for service in services:
@@ -1167,59 +1168,53 @@ def searchTorrent(album, new=False, losslessOnly=False, albumlength=None, choose
if headphones.CONFIG.KAT_PROXY_URL:
providerurl = fix_url(set_proxy(headphones.CONFIG.KAT_PROXY_URL))
else:
providerurl = fix_url("https://kickass.to")
providerurl = fix_url("https://kat.cr")
# Build URL
providerurl = providerurl + "/json.php?"
providerurl = providerurl + "/usearch/" + ka_term
# Pick category for torrents
# Set max size and category
if headphones.CONFIG.PREFERRED_QUALITY == 3 or losslessOnly:
format = "2" # FLAC
maxsize = 10000000000
providerurl += " category:lossless/"
elif headphones.CONFIG.PREFERRED_QUALITY == 1 or allow_lossless:
format = "10" # MP3 and FLAC
maxsize = 10000000000
providerurl += " category:music/"
else:
format = "8" # MP3 only
maxsize = 300000000
providerurl += " category:music/"
# Requesting content
logger.info("Searching %s using term: %s" % (provider,ka_term))
params = {
"q": ka_term + "+category:music",
"field": "seeders",
"sorder": "desc"
"sorder": "desc",
"rss": "1"
}
headers = {'User-Agent': USER_AGENT}
data = request.request_json(url=providerurl, params=params, headers=headers)
data = request.request_feed(url=providerurl, params=params,
whitelist_status_code=[404])
# Process feed
if data:
if not data['list']:
if not len(data.entries):
logger.info("No results found on %s using search term: %s" % (provider, ka_term))
else:
for item in data['list']:
for item in data.entries:
try:
rightformat = True
title = item['title']
seeders = item['seeds']
url = item['torrentLink']
size = int(item['size'])
if format == "2":
torrent = request.request_content(url, headers=headers)
if not torrent or (int(torrent.find(".mp3")) > 0 and int(torrent.find(".flac")) < 1):
rightformat = False
if rightformat and size < maxsize and minimumseeders < int(seeders):
match = True
seeders = item['torrent_seeds']
if headphones.CONFIG.TORRENT_DOWNLOADER == 0:
url = item['links'][1]['href']
else:
url = item['torrent_magneturi']
size = int(item['links'][1]['length'])
if size < maxsize and minimumseeders < int(seeders):
resultlist.append((title, size, url, provider, 'torrent', True))
logger.info('Found %s. Size: %s' % (title, helpers.bytes_to_mb(size)))
else:
match = False
logger.info('%s is larger than the maxsize, the wrong format or has too little seeders for this category, skipping. (Size: %i bytes, Seeders: %d, Format: %s)', title, size, int(seeders), rightformat)
resultlist.append((title, size, url, provider, 'torrent', match))
logger.info('%s is larger than the maxsize or has too little seeders for this category, skipping. (Size: %i bytes, Seeders: %d)', title, size, int(seeders))
except Exception as e:
logger.exception("Unhandled exception in the KAT parser")
@@ -1677,7 +1672,7 @@ def preprocess(resultlist):
headers = {}
if result[3] == 'Kick Ass Torrents':
#headers['Referer'] = 'http://kat.ph/'
headers['Referer'] = 'https://torcache.net/'
headers['User-Agent'] = USER_AGENT
elif result[3] == 'What.cd':
headers['User-Agent'] = 'Headphones'