diff --git a/.gitignore b/.gitignore index 217a73c..8a4b7fd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /settings.conf /logs/*.log /_source/ -/_data/ \ No newline at end of file +/_data/ +*.pyc diff --git a/couchpotato/core/downloaders/blackhole/main.py b/couchpotato/core/downloaders/blackhole/main.py index f4357e7..d940e94 100644 --- a/couchpotato/core/downloaders/blackhole/main.py +++ b/couchpotato/core/downloaders/blackhole/main.py @@ -29,6 +29,16 @@ class Blackhole(Downloader): try: file = data.get('download')(url = data.get('url'), nzb_id = data.get('id')) + # error handling for nzbs that aren't available + if "no nzb" in file: + log.error('No nzb available!') + return False + + # some providers provide nzbs that are rarred, save these with the proper extension + if "DOCTYPE nzb" not in file: + if data.get('type') == 'nzb': + fullPath = os.path.join(directory, '%s%s.%s' % (toSafeString(data.get('name')), self.cpTag(movie) , 'rar')) + with open(fullPath, 'wb') as f: f.write(file) except: diff --git a/couchpotato/core/providers/nzb/x264/__init__.py b/couchpotato/core/providers/nzb/x264/__init__.py new file mode 100644 index 0000000..cf65b0a --- /dev/null +++ b/couchpotato/core/providers/nzb/x264/__init__.py @@ -0,0 +1,20 @@ +from .main import X264 + +def start(): + return X264() + +config = [{ + 'name': 'x264', + 'groups': [ + { + 'tab': 'providers', + 'name': '#alt.binaries.hdtv.x264', + 'options': [ + { + 'name': 'enabled', + 'type': 'enabler', + }, + ], + }, + ], +}] diff --git a/couchpotato/core/providers/nzb/x264/main.py b/couchpotato/core/providers/nzb/x264/main.py new file mode 100644 index 0000000..0382acd --- /dev/null +++ b/couchpotato/core/providers/nzb/x264/main.py @@ -0,0 +1,89 @@ +from couchpotato.core.event import fireEvent +from couchpotato.core.helpers.rss import RSS +from couchpotato.core.logger import CPLog +from couchpotato.core.providers.nzb.base import NZBProvider +from dateutil.parser import parse +from imdb.parser.http.bsouplxml._bsoup import SoupStrainer, BeautifulSoup +import urllib +import urllib2 +from urllib import urlencode +from urllib import quote_plus +import time +import re + +log = CPLog(__name__) + + +class X264(NZBProvider, RSS): + + urls = { + 'download': 'http://85.214.105.230/get_nzb.php?id=%s§ion=hd', + 'search': 'http://85.214.105.230/x264/requests.php?release=%s&status=FILLED&age=700&sort=ID', + 'regex': '