Generic error message for services that don't return plain text.

master
Sean B. Palmer 2011-01-15 14:52:37 +00:00
parent 4bf7150491
commit 4608c57ea8
2 changed files with 8 additions and 2 deletions

View File

@ -34,10 +34,15 @@ def service(phenny, input, command, args):
template = template.replace('${nick}', urllib.quote(input.nick)) template = template.replace('${nick}', urllib.quote(input.nick))
uri = template.replace('${sender}', urllib.quote(input.sender)) uri = template.replace('${sender}', urllib.quote(input.sender))
info = web.head(uri)
if isinstance(info, list):
info = info[0]
if not 'text/plain' in info.get('content-type', '').lower():
return phenny.reply("Sorry, the service didn't respond in plain text.")
bytes = web.get(uri) bytes = web.get(uri)
lines = bytes.splitlines() lines = bytes.splitlines()
if not lines: if not lines:
return phenny.reply('Sorry, the service is broken.') return phenny.reply("Sorry, the service didn't respond any output.")
phenny.say(lines[0][:350]) phenny.say(lines[0][:350])
def refresh(phenny): def refresh(phenny):

View File

@ -29,7 +29,8 @@ def loadReminders(fn):
for line in f: for line in f:
line = line.strip() line = line.strip()
if line: if line:
tellee, teller, verb, timenow, msg = line.split('\t', 4) try: tellee, teller, verb, timenow, msg = line.split('\t', 4)
except ValueError: continue # @@ hmm
result.setdefault(tellee, []).append((teller, verb, timenow, msg)) result.setdefault(tellee, []).append((teller, verb, timenow, msg))
f.close() f.close()
return result return result