From 81f2ce0b5a23a87f013f225193de67e85305a0fa Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Sun, 17 Jan 2016 20:57:56 +0100 Subject: [PATCH] Some refactoring. --- plomlombot.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/plomlombot.py b/plomlombot.py index 7fa9194..cf6bae9 100644 --- a/plomlombot.py +++ b/plomlombot.py @@ -71,6 +71,21 @@ class IO: line) return line +def url_check(msg): + matches = re.findall("(https?://[^\s]+)", msg) + for i in range(len(matches)): + url = matches[i] + webpage = urllib.request.urlopen(url) + content_type = webpage.info().get_content_type() + charset = webpage.info().get_content_charset() + if not charset or not content_type in ('text/html', 'text/xml', + 'application/xhtml+xml'): + continue + content = webpage.read().decode(charset) + title = str(content).split('')[1].split('')[0] + title = html.unescape(title) + io.send_line("PRIVMSG " + target + " :page title for url: " + title) + io = IO(servernet, port) io.send_line("NICK " + nickname) io.send_line("USER " + username + " 0 * : ") @@ -99,19 +114,6 @@ while 1: if receiver != nickname: target = receiver msg = str.join(" ", tokens[3:])[1:] - matches = re.findall("(https?://[^\s]+)", msg) - for i in range(len(matches)): - url = matches[i] - webpage = urllib.request.urlopen(url) - content_type = webpage.info().get_content_type() - charset = webpage.info().get_content_charset() - if not charset or not content_type in ('text/html', 'text/xml', - 'application/xhtml+xml'): - continue - content = webpage.read().decode(charset) - title = str(content).split('')[1].split('')[0] - title = html.unescape(title) - io.send_line("PRIVMSG " - + target + " :page title for url: " + title) + url_check(msg) if tokens[0] == "PING": io.send_line("PONG " + tokens[1]) -- 2.30.2