@@ -1292,10 +1292,13 @@ def set_proxy(proxy_url):
1292
1292
1293
1293
if headphones .CONFIG .PREFERRED_QUALITY == 3 or losslessOnly :
1294
1294
categories = "3040"
1295
+ maxsize = 10000000000
1295
1296
elif headphones .CONFIG .PREFERRED_QUALITY == 1 or allow_lossless :
1296
1297
categories = "3040,3010,3050"
1298
+ maxsize = 10000000000
1297
1299
else :
1298
1300
categories = "3010,3050"
1301
+ maxsize = 300000000
1299
1302
1300
1303
if album ['Type' ] == 'Other' :
1301
1304
categories = "3030"
@@ -1321,20 +1324,22 @@ def set_proxy(proxy_url):
1321
1324
"q" : term
1322
1325
}
1323
1326
1324
- data = request .request_feed (
1327
+ data = request .request_soup (
1325
1328
url = torznab_host [0 ],
1326
1329
params = params , headers = headers
1327
1330
)
1328
1331
1329
1332
# Process feed
1330
1333
if data :
1331
- if not len (data .entries ):
1334
+ items = data .find_all ('item' )
1335
+ if not items :
1332
1336
logger .info (u"No results found from %s for %s" , provider , term )
1333
1337
else :
1334
- for item in data . entries :
1338
+ for item in items :
1335
1339
try :
1336
- url = item .link
1337
- title = item .title
1340
+ title = item .title .get_text ()
1341
+ url = item .find ("link" ).next_sibling .strip ()
1342
+ seeders = int (item .find ("torznab:attr" , attrs = {"name" : "seeders" }).get ('value' ))
1338
1343
1339
1344
# Torrentech hack - size currently not returned, make it up
1340
1345
if 'torrentech' in torznab_host [0 ]:
@@ -1349,12 +1354,17 @@ def set_proxy(proxy_url):
1349
1354
logger .info ('Skipping %s, could not determine size' % title )
1350
1355
continue
1351
1356
else :
1352
- size = int (item .links [ 1 ][ 'length' ] )
1357
+ size = int (item .size . string )
1353
1358
1354
1359
if all (word .lower () in title .lower () for word in term .split ()):
1355
- logger .info (
1356
- 'Found %s. Size: %s' % (title , helpers .bytes_to_mb (size )))
1357
- resultlist .append ((title , size , url , provider , 'torrent' , True ))
1360
+ if size < maxsize and minimumseeders < seeders :
1361
+ logger .info ('Found %s. Size: %s' % (title , helpers .bytes_to_mb (size )))
1362
+ resultlist .append ((title , size , url , provider , 'torrent' , True ))
1363
+ else :
1364
+ logger .info (
1365
+ '%s is larger than the maxsize or has too little seeders for this category, '
1366
+ 'skipping. (Size: %i bytes, Seeders: %d)' ,
1367
+ title , size , seeders )
1358
1368
else :
1359
1369
logger .info ('Skipping %s, not all search term words found' % title )
1360
1370
0 commit comments