Mercurial > repo
view bin/wl @ 2012:c4f83ae4e77e
<olsner> addquote <fungot> but when she saw him fnord and fnord. and then there\'s the fnord, as well as fnord reading sauce with fish, or fnord, that alice quite fnord for it hadn\'t spoken before.
author | HackBot |
---|---|
date | Tue, 05 Feb 2013 23:27:58 +0000 |
parents | e037173e0012 |
children |
line wrap: on
line source
#!/usr/bin/env python import os import sys import json import urllib2 proxy_handler = urllib2.ProxyHandler({'http': os.environ['http_proxy']}) opener = urllib2.build_opener(proxy_handler) urllib2.install_opener(opener) def lose(): print 'You get NOTHING! You LOSE! Good DAY sir!' sys.exit() def eels(): print 'My hovercraft is full of eels.' sys.exit() if len(sys.argv) > 2: args = sys.argv[1:] elif len(sys.argv) == 2: args = sys.argv[1].split() else: lose() if len(args) == 2: from_lang = args[0] to_lang = 'en' word = args[1] elif len(args) == 3: from_lang = args[0] to_lang = args[1] word = args[2] else: lose() def query(continue_id): url = 'http://%s.wikipedia.org/w/api.php?format=json&action=query&' \ 'redirects=1&titles=%s&prop=langlinks' % (from_lang, word) if continue_id: url += '&llcontinue=' + continue_id try: response = urllib2.urlopen(url).read() except urllib2.URLError, e: print e.reason sys.exit() return json.loads(response) continue_id = None while True: q = query(continue_id) if '-1' in q['query']['pages']: eels() page = q['query']['pages'].values()[0] if 'langlinks' not in page: eels() for link in q['query']['pages'].values()[0]['langlinks']: if link['lang'] == to_lang: print link['*'].encode('utf-8') sys.exit() if 'query-continue' in q: continue_id = q['query-continue']['langlinks']['llcontinue'] else: eels()