diff --git a/mumbleBot.py b/mumbleBot.py index 0cb80cb..72fb15c 100644 --- a/mumbleBot.py +++ b/mumbleBot.py @@ -236,7 +236,7 @@ class MumbleBot: return if not self.is_admin(user) and parameter: - input_url = util.get_url_from_input(parameter.lower()) + input_url = util.get_url_from_input(parameter) if input_url: for i in var.db.items("url_ban"): if input_url == i[0]: diff --git a/util.py b/util.py index 637e2e6..2192d90 100644 --- a/util.py +++ b/util.py @@ -295,12 +295,17 @@ class Dir(object): def get_url_from_input(string): string = string.strip() - if string.startswith('http'): - return string - p = re.compile('href="(.+?)"', re.IGNORECASE) - res = re.search(p, string) - if res: - return res.group(1) + if not (string.startswith("http") or string.startswith("HTTP")): + res = re.search('href="(.+?)"', string, flags=re.IGNORECASE) + if res: + string = res.group(1) + else: + return False + + match = re.search("(http|https)://(.*)?/(.*)", string, flags=re.IGNORECASE) + if match: + url = match[1].lower() + "://" + match[2].lower() + "/" + match[3] + return url else: return False