Private GIT

Skip to content
Snippets Groups Projects
Commit 91c83a3c authored by Dustyn Gibson's avatar Dustyn Gibson
Browse files

Add custom_url option for kat and tpb, set them like "http://kat.cr" in the provider options

parent 3ef2912d
No related branches found
No related tags found
No related merge requests found
...@@ -76,10 +76,14 @@ $('#config-components').tabs(); ...@@ -76,10 +76,14 @@ $('#config-components').tabs();
continue continue
curName = curProvider.getID() curName = curProvider.getID()
if hasattr(curProvider, 'custom_url'):
curURL = curProvider.custom_url or curProvider.url
else:
curURL = curProvider.url
%> %>
<li class="ui-state-default ${('nzb-provider', 'torrent-provider')[bool(curProvider.providerType == "torrent")]}" id="${curName}"> <li class="ui-state-default ${('nzb-provider', 'torrent-provider')[bool(curProvider.providerType == "torrent")]}" id="${curName}">
<input type="checkbox" id="enable_${curName}" class="provider_enabler" ${('', 'checked="checked"')[curProvider.isEnabled() is True]}/> <input type="checkbox" id="enable_${curName}" class="provider_enabler" ${('', 'checked="checked"')[curProvider.isEnabled() is True]}/>
<a href="${anon_url(curProvider.url)}" class="imgLink" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;"><img src="${srRoot}/images/providers/${curProvider.imageName()}" alt="${curProvider.name}" title="${curProvider.name}" width="16" height="16" style="vertical-align:middle;"/></a> <a href="${anon_url(curURL)}" class="imgLink" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;"><img src="${srRoot}/images/providers/${curProvider.imageName()}" alt="${curProvider.name}" title="${curProvider.name}" width="16" height="16" style="vertical-align:middle;"/></a>
<span style="vertical-align:middle;">${curProvider.name}</span> <span style="vertical-align:middle;">${curProvider.name}</span>
${('*', '')[bool(curProvider.supportsBacklog)]} ${('*', '')[bool(curProvider.supportsBacklog)]}
<span class="ui-icon ui-icon-arrowthick-2-n-s pull-right" style="vertical-align:middle;"></span> <span class="ui-icon ui-icon-arrowthick-2-n-s pull-right" style="vertical-align:middle;"></span>
...@@ -313,7 +317,7 @@ $('#config-components').tabs(); ...@@ -313,7 +317,7 @@ $('#config-components').tabs();
<label> <label>
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"> <span class="component-desc">
<p>The URL should include the protocol and port (if applicable). Examples: http://192.168.1.4/ or http://localhost:3000/</p> <p>The URL should include the protocol (and port if applicable). Examples: http://192.168.1.4/ or http://localhost:3000/</p>
</span> </span>
</label> </label>
</div> </div>
......
...@@ -595,6 +595,7 @@ def check_setting_str(config, cfg_name, item_name, def_val, silent=True, censor_ ...@@ -595,6 +595,7 @@ def check_setting_str(config, cfg_name, item_name, def_val, silent=True, censor_
config[cfg_name][item_name] = helpers.encrypt(my_val, encryption_version) config[cfg_name][item_name] = helpers.encrypt(my_val, encryption_version)
if censor_log or (cfg_name, item_name) in logger.censoredItems.iteritems(): if censor_log or (cfg_name, item_name) in logger.censoredItems.iteritems():
if not item_name.endswith('custom_url'):
logger.censoredItems[cfg_name, item_name] = my_val logger.censoredItems[cfg_name, item_name] = my_val
if not silent: if not silent:
......
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
# along with SickRage. If not, see <http://www.gnu.org/licenses/>. # along with SickRage. If not, see <http://www.gnu.org/licenses/>.
import posixpath # Must use posixpath
import traceback import traceback
from urllib import urlencode from urllib import urlencode
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
...@@ -43,13 +43,14 @@ class KATProvider(generic.TorrentProvider): ...@@ -43,13 +43,14 @@ class KATProvider(generic.TorrentProvider):
self.minseed = None self.minseed = None
self.minleech = None self.minleech = None
self.urls = { self.urls = {
'base_url': 'https://kickass.unblocked.pe/', 'base_url': 'https://kat.cr/',
'search': 'https://kickass.unblocked.pe/%s/', 'search': 'https://kat.cr/%s/',
} }
self.url = self.urls['base_url'] self.url = self.urls['base_url']
self.custom_url = None
self.headers.update({'User-Agent': USER_AGENT}) self.headers.update({'User-Agent': USER_AGENT})
self.search_params = { self.search_params = {
...@@ -62,7 +63,6 @@ class KATProvider(generic.TorrentProvider): ...@@ -62,7 +63,6 @@ class KATProvider(generic.TorrentProvider):
self.cache = KATCache(self) self.cache = KATCache(self)
def _doSearch(self, search_strings, search_mode='eponly', epcount=0, age=0, epObj=None): def _doSearch(self, search_strings, search_mode='eponly', epcount=0, age=0, epObj=None):
results = [] results = []
items = {'Season': [], 'Episode': [], 'RSS': []} items = {'Season': [], 'Episode': [], 'RSS': []}
...@@ -84,11 +84,13 @@ class KATProvider(generic.TorrentProvider): ...@@ -84,11 +84,13 @@ class KATProvider(generic.TorrentProvider):
url_fmt_string = 'usearch' if mode != 'RSS' else search_string url_fmt_string = 'usearch' if mode != 'RSS' else search_string
try: try:
searchURL = self.urls['search'] % url_fmt_string + '?' + urlencode(self.search_params) searchURL = self.urls['search'] % url_fmt_string + '?' + urlencode(self.search_params)
if self.custom_url:
searchURL = posixpath.join(self.custom_url, searchURL.split(self.url)[1].lstrip('/')) # Must use posixpath
logger.log(u"Search URL: %s" % searchURL, logger.DEBUG) logger.log(u"Search URL: %s" % searchURL, logger.DEBUG)
data = self.getURL(searchURL) data = self.getURL(searchURL)
# data = self.getURL(self.urls[('search', 'rss')[mode is 'RSS']], params=self.search_params)
if not data: if not data:
logger.log(u"No data returned from provider", logger.DEBUG) logger.log(u'URL did not return data, maybe try a custom url, or a different one', logger.DEBUG)
continue continue
if not data.startswith('<?xml'): if not data.startswith('<?xml'):
......
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
import re import re
import posixpath # Must use posixpath
from urllib import urlencode from urllib import urlencode
from sickbeard import logger from sickbeard import logger
from sickbeard import tvcache from sickbeard import tvcache
from sickbeard.providers import generic from sickbeard.providers import generic
...@@ -42,12 +42,14 @@ class ThePirateBayProvider(generic.TorrentProvider): ...@@ -42,12 +42,14 @@ class ThePirateBayProvider(generic.TorrentProvider):
self.cache = ThePirateBayCache(self) self.cache = ThePirateBayCache(self)
self.urls = { self.urls = {
'base_url': 'https://pirateproxy.pl/', 'base_url': 'https://thepiratebay.gd/',
'search': 'https://pirateproxy.pl/s/', 'search': 'https://thepiratebay.gd/s/',
'rss': 'https://pirateproxy.pl/tv/latest' 'rss': 'https://thepiratebay.gd/tv/latest'
} }
self.url = self.urls['base_url'] self.url = self.urls['base_url']
self.custom_url = None
self.headers.update({'User-Agent': USER_AGENT}) self.headers.update({'User-Agent': USER_AGENT})
""" """
...@@ -79,10 +81,13 @@ class ThePirateBayProvider(generic.TorrentProvider): ...@@ -79,10 +81,13 @@ class ThePirateBayProvider(generic.TorrentProvider):
logger.log(u"Search string: " + search_string, logger.DEBUG) logger.log(u"Search string: " + search_string, logger.DEBUG)
searchURL = self.urls[('search', 'rss')[mode is 'RSS']] + '?' + urlencode(self.search_params) searchURL = self.urls[('search', 'rss')[mode is 'RSS']] + '?' + urlencode(self.search_params)
if self.custom_url:
searchURL = posixpath.join(self.custom_url, searchURL.split(self.url)[1].lstrip('/')) # Must use posixpath
logger.log(u"Search URL: %s" % searchURL, logger.DEBUG) logger.log(u"Search URL: %s" % searchURL, logger.DEBUG)
data = self.getURL(searchURL) data = self.getURL(searchURL)
# data = self.getURL(self.urls[('search', 'rss')[mode is 'RSS']], params=self.search_params)
if not data: if not data:
logger.log(u'URL did not return data, maybe try a custom url, or a different one', logger.DEBUG)
continue continue
matches = re.compile(self.re_title_url, re.DOTALL).finditer(data) matches = re.compile(self.re_title_url, re.DOTALL).finditer(data)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment