Fixes issue with trailing slash being appened to end of url when adding custom RSS torrent provider.

This commit is contained in:
echel0n 2014-05-22 22:36:48 -07:00
parent 736cb7c738
commit d37a992508
2 changed files with 20 additions and 11 deletions

View File

@ -20,9 +20,10 @@ import cherrypy
import os.path
import datetime
import re
import time
import urlparse
import sickbeard
from sickbeard import encodingKludge as ek
from sickbeard import helpers
from sickbeard import logger
from sickbeard import naming
@ -274,22 +275,30 @@ def clean_hosts(hosts, default_port=None):
def clean_url(url):
"""
Returns an url starting with http:// or https:// and ending with /
Returns an cleaned url starting with a scheme and folder with trailing /
or an empty string
"""
if url:
if url and url.strip():
if not re.match(r'(https?|scgi)://.*', url):
url = 'http://' + url
url = url.strip()
if not url.endswith('/'):
url = url + '/'
if '://' not in url:
url = '//' + url
scheme, netloc, path, query, fragment = urlparse.urlsplit(url, 'http')
if not path.endswith('/'):
basename, ext = ek.ek(os.path.splitext, ek.ek(os.path.basename, path)) # @UnusedVariable
if not ext:
path = path + '/'
cleaned_url = urlparse.urlunsplit((scheme, netloc, path, query, fragment))
else:
url = ''
cleaned_url = ''
return url
return cleaned_url
def to_int(val, default=0):
@ -376,7 +385,7 @@ def check_setting_str(config, cfg_name, item_name, def_val, log=True):
config[cfg_name][item_name] = helpers.encrypt(my_val, encryption_version)
if log:
logger.log(item_name + " -> " + my_val, logger.DEBUG)
logger.log(item_name + " -> " + str(my_val), logger.DEBUG)
else:
logger.log(item_name + " -> ******", logger.DEBUG)

View File

@ -38,7 +38,7 @@ class TorrentRssProvider(generic.TorrentProvider):
def __init__(self, name, url, search_mode='eponly', search_fallback=False, backlog_only=False):
generic.TorrentProvider.__init__(self, name)
self.cache = TorrentRssCache(self)
#self.url = re.sub('\/$', '', url)
self.url = re.sub('\/$', '', url)
self.url = url
self.enabled = True
self.supportsBacklog = False