|
|
|
@ -1,5 +1,6 @@
@@ -1,5 +1,6 @@
|
|
|
|
|
#VERSION: 1.30 |
|
|
|
|
#VERSION: 1.31 |
|
|
|
|
#AUTHORS: BTDigg team (research@btdigg.org) |
|
|
|
|
# Contributors: Diego de las Heras (ngosang@hotmail.es) |
|
|
|
|
|
|
|
|
|
# GNU GENERAL PUBLIC LICENSE |
|
|
|
|
# Version 3, 29 June 2007 |
|
|
|
@ -16,52 +17,47 @@
@@ -16,52 +17,47 @@
|
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
|
|
# GNU General Public License for more details. |
|
|
|
|
|
|
|
|
|
import urllib.request, urllib.parse, urllib.error |
|
|
|
|
import urllib.request, urllib.error, urllib.parse |
|
|
|
|
import sys |
|
|
|
|
|
|
|
|
|
from novaprinter import prettyPrinter |
|
|
|
|
from helpers import retrieve_url, download_file |
|
|
|
|
import urllib |
|
|
|
|
import sys |
|
|
|
|
|
|
|
|
|
class btdigg(object): |
|
|
|
|
url = 'https://btdigg.org' |
|
|
|
|
name = 'BTDigg' |
|
|
|
|
name = 'BTDigg' |
|
|
|
|
|
|
|
|
|
supported_categories = {'all': ''} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def __init__(self): |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def search(self, what, cat='all'): |
|
|
|
|
req = urllib.parse.unquote(what) |
|
|
|
|
what_list = req.split() |
|
|
|
|
i = 0 |
|
|
|
|
results = 0 |
|
|
|
|
while i < 3: |
|
|
|
|
u = urllib.request.urlopen('https://api.btdigg.org/api/public-8e9a50f8335b964f/s01?%s' % urllib.parse.urlencode(dict(q = req, p = i))) |
|
|
|
|
for line in u: |
|
|
|
|
try: |
|
|
|
|
line = line.decode('utf8') |
|
|
|
|
if line.startswith('#'): |
|
|
|
|
continue |
|
|
|
|
data = retrieve_url('https://api.btdigg.org/api/public-8e9a50f8335b964f/s01?%s' % urllib.parse.urlencode(dict(q = req, p = i))) |
|
|
|
|
for line in data.splitlines(): |
|
|
|
|
if line.startswith('#'): |
|
|
|
|
continue |
|
|
|
|
|
|
|
|
|
info_hash, name, files, size, dl, seen = line.strip().split('\t')[:6] |
|
|
|
|
name = name.replace('|', '') |
|
|
|
|
# BTDigg returns unrelated results, we need to filter |
|
|
|
|
if not all(word in name.lower() for word in what_list): |
|
|
|
|
continue |
|
|
|
|
info_hash, name, files, size, dl, seen = line.strip().split('\t')[:6] |
|
|
|
|
name = name.replace('|', '') |
|
|
|
|
# BTDigg returns unrelated results, we need to filter |
|
|
|
|
if not all(word in name.lower() for word in what_list): |
|
|
|
|
continue |
|
|
|
|
|
|
|
|
|
res = dict(link = 'magnet:?xt=urn:btih:%s&dn=%s' % (info_hash, urllib.parse.quote(name)), |
|
|
|
|
name = name, |
|
|
|
|
size = size, |
|
|
|
|
seeds = int(dl), |
|
|
|
|
leech = int(dl), |
|
|
|
|
engine_url = self.url, |
|
|
|
|
desc_link = '%s/search?%s' % (self.url, urllib.parse.urlencode(dict(info_hash = info_hash, q = req)))) |
|
|
|
|
res = dict(link = 'magnet:?xt=urn:btih:%s&dn=%s' % (info_hash, urllib.parse.quote(name)), |
|
|
|
|
name = name, |
|
|
|
|
size = size, |
|
|
|
|
seeds = int(dl), |
|
|
|
|
leech = int(dl), |
|
|
|
|
engine_url = self.url, |
|
|
|
|
desc_link = '%s/search?%s' % (self.url, urllib.parse.urlencode(dict(info_hash = info_hash, q = req)))) |
|
|
|
|
|
|
|
|
|
prettyPrinter(res) |
|
|
|
|
results += 1 |
|
|
|
|
except: |
|
|
|
|
pass |
|
|
|
|
prettyPrinter(res) |
|
|
|
|
results += 1 |
|
|
|
|
|
|
|
|
|
if results == 0: |
|
|
|
|
break |
|
|
|
|