diff --git a/Makefile b/Makefile index 715735e..6ea3aa9 100644 --- a/Makefile +++ b/Makefile @@ -2,17 +2,24 @@ # Copyright 2008, Sean B. Palmer, inamidst.com # Licensed under the Eiffel Forum License 2. +# archive - Create phenny.tar.bz2 using git archive archive: ; # hg archive -t tbz2 phenny-hg.tar.bz2 git archive --format=tar --prefix=phenny/ HEAD | bzip2 > phenny.tar.bz2 +# ci - Check the code into git and push to github ci: ; # hg ci git commit -a && git push origin master +# log - Show a log of recent updates log: ; # git log --date=short --format='%h %ad %s' git graph +# sync - Push phenny to pubble:opt/phenny/ sync: ; rsync -avz ./ pubble:opt/phenny/ + +help: ; + @egrep '^# [a-z]+ - ' Makefile | sed 's/# //' diff --git a/modules/head.py b/modules/head.py index b6767ff..384b8df 100755 --- a/modules/head.py +++ b/modules/head.py @@ -168,7 +168,7 @@ def noteuri(phenny, input): if not hasattr(phenny.bot, 'last_seen_uri'): phenny.bot.last_seen_uri = {} phenny.bot.last_seen_uri[input.sender] = uri -noteuri.rule = r'.*(http://[^<> "\x01]+)[,.]?' +noteuri.rule = r'.*(http[s]?://[^<> "\x01]+)[,.]?' noteuri.priority = 'low' if __name__ == '__main__': diff --git a/modules/oblique.py b/modules/oblique.py index e53ec29..3622b4a 100755 --- a/modules/oblique.py +++ b/modules/oblique.py @@ -34,10 +34,15 @@ def service(phenny, input, command, args): template = template.replace('${nick}', urllib.quote(input.nick)) 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) lines = bytes.splitlines() 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]) def refresh(phenny): diff --git a/modules/tell.py b/modules/tell.py index 2f39986..741c58d 100755 --- a/modules/tell.py +++ b/modules/tell.py @@ -29,7 +29,8 @@ def loadReminders(fn): for line in f: line = line.strip() 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)) f.close() return result diff --git a/modules/translate.py b/modules/translate.py index e637d01..d5ae41f 100755 --- a/modules/translate.py +++ b/modules/translate.py @@ -46,6 +46,8 @@ def tr(phenny, context): if input != output: msg = translate(phrase, input, output) + if isinstance(msg, str): + msg = msg.decode('utf-8') if msg: msg = web.decode(msg) # msg.replace(''', "'") msg = '"%s" (%s to %s, translate.google.com)' % (msg, input, output)