feat: advanced url processing

This commit is contained in:
Terry Geng 2020-03-12 20:50:07 +08:00
parent c1190d6317
commit 2c4e7c3370
2 changed files with 12 additions and 7 deletions

View File

@ -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]:

17
util.py
View File

@ -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