rendered paste body#!/usr/bin/env python
#query the UD.
import urllib, urllib2, re, sys
#the replace map
replaceMap = {
" ":"\x20",
""":"\x22",
"&":"\x26",
"'":"\x27",
"–":"\x2D",
"<":"\x3C",
">":"\x3E",
"˜":"\x7E",
"€":"\x80",
"¡":"\xA1",
"¢":"\xA2",
"£":"\xA3",
"¤":"\xA4",
"¥":"\xA5",
"¦":"\xA6",
"§":"\xA7",
"¨":"\xA8",
"©":"\xA9",
"ª":"\xAA",
"«":"\xAB",
"¬":"\xAC",
"­":"\xAD",
"®":"\xAE",
"&hibar;":"\xAF",
"°":"\xB0",
"±":"\xB1",
"²":"\xB2",
"³":"\xB3",
"´":"\xB4",
"µ":"\xB5",
"¶":"\xB6",
"·":"\xB7",
"¸":"\xB8",
"¹":"\xB9",
"º":"\xBA",
"»":"\xBB",
"¼":"\xBC",
"½":"\xBD",
"¾":"\xBE",
"¿":"\xBF",
"À":"\xC0",
"Á":"\xC1",
"Â":"\xC2",
"Ã":"\xC3",
"Ä":"\xC4",
"Å":"\xC5",
"Æ":"\xC6",
"Ç":"\xC7",
"È":"\xC8",
"É":"\xC9",
"Ê":"\xCA",
"Ë":"\xCB",
"Ì":"\xCC",
"Í":"\xCD",
"Î":"\xCE",
"Ï":"\xCF",
"Ð":"\xD0",
"Ñ":"\xD1",
"Ò":"\xD2",
"Ó":"\xD3",
"Ô":"\xD4",
"Õ":"\xD5",
"Ö":"\xD6",
"×":"\xD7",
"Ø":"\xD8",
"Ù":"\xD9",
"Ú":"\xDA",
"Û":"\xDB",
"Ü":"\xDC",
"Ý":"\xDD",
"Þ":"\xDE",
"ß":"\xDF",
"à":"\xE0",
"á":"\xE1",
"â":"\xE2",
"ã":"\xE3",
"ä":"\xE4",
"å":"\xE5",
"æ":"\xE6",
"ç":"\xE7",
"è":"\xE8",
"é":"\xE9",
"ê":"\xEA",
"ë":"\xEB",
"ì":"\xEC",
"í":"\xED",
"î":"\xEE",
"ï":"\xEF",
"ð":"\xF0",
"ñ":"\xF1",
"ò":"\xF2",
"ó":"\xF3",
"ô":"\xF4",
"õ":"\xF5",
"ö":"\xF6",
"÷":"\xF7",
"ø":"\xF8",
"ù":"\xF9",
"ú":"\xFA",
"û":"\xFB",
"ü":"\xFC",
"ý":"\xFD",
"þ":"\xFE",
"ÿ":"\xFF"
}
if len(sys.argv) < 2:
print "usage: %s term"% sys.argv[0]
sys.exit(1)
r=re.compile(r'<div class="def_p">.*?<p>(.*?)</p>',re.M|re.S)
#no option parsing, just a quick hack.
s=""
s = urllib2.urlopen("http://urbandictionary.com/define.php?"+
urllib.urlencode({'term':sys.argv[1]})).read()
l = r.findall(s)
r2 = re.compile(r'<[^>]*?>')
l = [r2.sub('', x) for x in l]
for n, t in enumerate(l):
for k, v in replaceMap.iteritems():
t = t.replace(k, v)
print "%d: %s"% (n+1, t)