diff --git a/sickbeard/config.py b/sickbeard/config.py index d2eb82c3..45ad4dcb 100644 --- a/sickbeard/config.py +++ b/sickbeard/config.py @@ -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) diff --git a/sickbeard/providers/rsstorrent.py b/sickbeard/providers/rsstorrent.py index ccf44e13..b319acad 100644 --- a/sickbeard/providers/rsstorrent.py +++ b/sickbeard/providers/rsstorrent.py @@ -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