Use new OMGWTFNZB api

fix #4471
This commit is contained in:
Ruud
2015-01-08 14:59:53 +01:00
parent 17e37996c4
commit 4c68566c77
@@ -1,13 +1,9 @@
from urlparse import urlparse, parse_qs
import time
from couchpotato.core.event import fireEvent from couchpotato.core.event import fireEvent
from couchpotato.core.helpers.encoding import toUnicode, tryUrlencode from couchpotato.core.helpers.encoding import toUnicode, tryUrlencode
from couchpotato.core.helpers.rss import RSS from couchpotato.core.helpers.rss import RSS
from couchpotato.core.helpers.variable import tryInt from couchpotato.core.helpers.variable import tryInt
from couchpotato.core.logger import CPLog from couchpotato.core.logger import CPLog
from couchpotato.core.media._base.providers.nzb.base import NZBProvider from couchpotato.core.media._base.providers.nzb.base import NZBProvider
from dateutil.parser import parse
log = CPLog(__name__) log = CPLog(__name__)
@@ -16,8 +12,7 @@ log = CPLog(__name__)
class Base(NZBProvider, RSS): class Base(NZBProvider, RSS):
urls = { urls = {
'search': 'https://rss.omgwtfnzbs.org/rss-search.php?%s', 'search': 'https://api.omgwtfnzbs.org/json/?%s',
'detail_url': 'https://omgwtfnzbs.org/details.php?id=%s',
} }
http_time_between_calls = 1 # Seconds http_time_between_calls = 1 # Seconds
@@ -47,21 +42,18 @@ class Base(NZBProvider, RSS):
'api': self.conf('api_key', default = ''), 'api': self.conf('api_key', default = ''),
}) })
nzbs = self.getRSSData(self.urls['search'] % params) nzbs = self.getJsonData(self.urls['search'] % params)
for nzb in nzbs: for nzb in nzbs:
enclosure = self.getElement(nzb, 'enclosure').attrib
nzb_id = parse_qs(urlparse(self.getTextElement(nzb, 'link')).query).get('id')[0]
results.append({ results.append({
'id': nzb_id, 'id': nzb.get('nzbid'),
'name': toUnicode(self.getTextElement(nzb, 'title')), 'name': toUnicode(nzb.get('release')),
'age': self.calculateAge(int(time.mktime(parse(self.getTextElement(nzb, 'pubDate')).timetuple()))), 'age': self.calculateAge(tryInt(nzb.get('usenetage'))),
'size': tryInt(enclosure['length']) / 1024 / 1024, 'size': tryInt(nzb.get('sizebytes')) / 1024 / 1024,
'url': enclosure['url'], 'url': nzb.get('getnzb'),
'detail_url': self.urls['detail_url'] % nzb_id, 'detail_url': nzb.get('details'),
'description': self.getTextElement(nzb, 'description') 'description': nzb.get('weblink')
}) })