Mercurial > repo
view paste/paste.3547 @ 12493:885661512b17 draft
<int-e> le//rn schwartzian//In 1987, Yogurt introduced a better way to rank Schwartz users: Rather than holding an annual tournament, users would take a series of standardized tests adminstered by official Schwartz centers, and would then be ranked according to the results. This lead to the Schwartzian transform because it allowed many more users to be ranked.
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Fri, 12 Jan 2024 07:24:55 +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()