diff options
author | Sean B. Palmer <sbp@aldebaran.local> | 2011-07-22 15:43:50 +0100 |
---|---|---|
committer | Sean B. Palmer <sbp@aldebaran.local> | 2011-07-22 15:43:50 +0100 |
commit | f329429de4b0d7561527d419cd1307eaf38f1cb3 (patch) | |
tree | 3e5aad226369458f2e324a81e3a30afd70d5e84b /modules/wikipedia.py | |
parent | 7dbddc8429d0b238f64acabab435d27472ced062 (diff) | |
download | bot-f329429de4b0d7561527d419cd1307eaf38f1cb3.tar.gz bot-f329429de4b0d7561527d419cd1307eaf38f1cb3.tar.bz2 bot-f329429de4b0d7561527d419cd1307eaf38f1cb3.zip |
Support for gzip encoding from Wikipedia.
Diffstat (limited to 'modules/wikipedia.py')
-rwxr-xr-x | modules/wikipedia.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/modules/wikipedia.py b/modules/wikipedia.py index b476ba3..4ad0113 100755 --- a/modules/wikipedia.py +++ b/modules/wikipedia.py @@ -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: |