mirror of
http://aero2k.de/t/repos/urlbot-native.git
synced 2017-09-06 15:25:38 +02:00
added some more error handling because error handling is cool
This commit is contained in:
@@ -29,17 +29,22 @@ def logger(severity, message):
|
|||||||
|
|
||||||
def fetch_page(url):
|
def fetch_page(url):
|
||||||
logger('info', 'fetching page ' + url)
|
logger('info', 'fetching page ' + url)
|
||||||
response = urllib.urlopen(url)
|
try:
|
||||||
html = response.read(BUFSIZ)
|
response = urllib.urlopen(url)
|
||||||
response.close()
|
html = response.read(BUFSIZ)
|
||||||
return html
|
response.close()
|
||||||
|
return html
|
||||||
|
except IOError as e:
|
||||||
|
logger('warn', 'failed: ' + e.errno)
|
||||||
|
|
||||||
def extract_title(url):
|
def extract_title(url):
|
||||||
logger('info', 'extracting title from ' + url)
|
logger('info', 'extracting title from ' + url)
|
||||||
|
|
||||||
html = fetch_page(url)
|
html = fetch_page(url)
|
||||||
result = re.match(r'.*?<title.*?>(.*?)</title>.*?', html, re.S|re.M)
|
if html:
|
||||||
if result:
|
result = re.match(r'.*?<title.*?>(.*?)</title>.*?', html, re.S|re.M)
|
||||||
return result.groups()[0]
|
if result:
|
||||||
|
return result.groups()[0]
|
||||||
|
|
||||||
def chat_write(message):
|
def chat_write(message):
|
||||||
try:
|
try:
|
||||||
@@ -55,7 +60,11 @@ def extract_url(data):
|
|||||||
for r in result:
|
for r in result:
|
||||||
title = extract_title(r)
|
title = extract_title(r)
|
||||||
|
|
||||||
message = 'Title: %s: %s' % (title, e(r))
|
if title:
|
||||||
|
message = 'Title: %s: %s' % (title, e(r))
|
||||||
|
else:
|
||||||
|
message = 'some error occured when fetching %s' % e(r)
|
||||||
|
|
||||||
logger('info', 'printing ' + message)
|
logger('info', 'printing ' + message)
|
||||||
|
|
||||||
if debug_enabled():
|
if debug_enabled():
|
||||||
|
|||||||
Reference in New Issue
Block a user