Support for gzip encoding from Wikipedia.
parent
7dbddc8429
commit
f329429de4
|
@ -51,7 +51,6 @@ def dict(phenny, input):
|
|||
if result.endswith('-') and (len(result) < 30):
|
||||
phenny.reply('Sorry, no definition found.')
|
||||
else: phenny.say(result)
|
||||
dict.commands = ['dict']
|
||||
|
||||
if __name__ == '__main__':
|
||||
print __doc__.strip()
|
||||
|
|
|
@ -7,7 +7,7 @@ Licensed under the Eiffel Forum License 2.
|
|||
http://inamidst.com/phenny/
|
||||
"""
|
||||
|
||||
import re, urllib
|
||||
import re, urllib, gzip, StringIO
|
||||
import web
|
||||
|
||||
wikiuri = 'http://%s.wikipedia.org/wiki/%s'
|
||||
|
@ -69,6 +69,13 @@ def wikipedia(term, language='en', last=False):
|
|||
u = wikiuri % (language, q)
|
||||
bytes = web.get(u)
|
||||
else: bytes = web.get(wikiuri % (language, term))
|
||||
|
||||
if bytes.startswith('\x1f\x8b\x08\x00\x00\x00\x00\x00'):
|
||||
f = StringIO.StringIO(bytes)
|
||||
f.seek(0)
|
||||
gzip_file = gzip.GzipFile(fileobj=f)
|
||||
bytes = gzip_file.read()
|
||||
|
||||
bytes = r_tr.sub('', bytes)
|
||||
|
||||
if not last:
|
||||
|
|
|
@ -92,5 +92,9 @@ def w(phenny, input):
|
|||
w.commands = ['w']
|
||||
w.example = '.w bailiwick'
|
||||
|
||||
def encarta(phenny, input):
|
||||
return phenny.reply('Microsoft removed Encarta, try .w instead!')
|
||||
encarta.commands = ['dict']
|
||||
|
||||
if __name__ == '__main__':
|
||||
print __doc__.strip()
|
||||
|
|
Loading…
Reference in New Issue