Split .urban from dictionary.py
This commit is contained in:
parent
9602fc8e8e
commit
8783cb3f0d
|
@ -4,45 +4,6 @@ from util import hook
|
||||||
from util import http
|
from util import http
|
||||||
|
|
||||||
|
|
||||||
@hook.command('u')
|
|
||||||
@hook.command
|
|
||||||
def urban(inp):
|
|
||||||
".urban <phrase> [id] -- Looks up <phrase> on urbandictionary.com."
|
|
||||||
|
|
||||||
# set a default definition number
|
|
||||||
id = 1
|
|
||||||
|
|
||||||
# clean and split the input
|
|
||||||
input = inp.lower().strip()
|
|
||||||
parts = input.split()
|
|
||||||
|
|
||||||
# if the last word is a number, set the ID to that number
|
|
||||||
if parts[-1].isdigit():
|
|
||||||
id = int(parts[-1])
|
|
||||||
del parts[-1]
|
|
||||||
input = " ".join(parts)
|
|
||||||
|
|
||||||
url = 'http://www.urbandictionary.com/iphone/search/define'
|
|
||||||
page = http.get_json(url, term=input)
|
|
||||||
defs = page['list']
|
|
||||||
|
|
||||||
if page['result_type'] == 'no_results':
|
|
||||||
return 'Not found.'
|
|
||||||
|
|
||||||
# try getting the requested definition
|
|
||||||
try:
|
|
||||||
out = "[%s/%s] %s: %s" % \
|
|
||||||
(str(id), str(len(defs)), defs[id - 1]['word'],
|
|
||||||
defs[id - 1]['definition'])
|
|
||||||
except IndexError:
|
|
||||||
return 'Not found.'
|
|
||||||
|
|
||||||
if len(out) > 400:
|
|
||||||
out = out[:out.rfind(' ', 0, 400)] + '...'
|
|
||||||
|
|
||||||
return out
|
|
||||||
|
|
||||||
|
|
||||||
@hook.command('dictionary')
|
@hook.command('dictionary')
|
||||||
@hook.command
|
@hook.command
|
||||||
def define(inp):
|
def define(inp):
|
||||||
|
|
43
plugins/urban.py
Executable file
43
plugins/urban.py
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
# Plugin by Lukeroge
|
||||||
|
from util import hook, http
|
||||||
|
|
||||||
|
|
||||||
|
@hook.command('u')
|
||||||
|
@hook.command
|
||||||
|
def urban(inp):
|
||||||
|
".urban <phrase> [id] -- Looks up <phrase> on urbandictionary.com."
|
||||||
|
|
||||||
|
# set a default definition number
|
||||||
|
id = 1
|
||||||
|
|
||||||
|
# clean and split the input
|
||||||
|
input = inp.lower().strip()
|
||||||
|
parts = input.split()
|
||||||
|
|
||||||
|
# if the last word is a number, set the ID to that number
|
||||||
|
if parts[-1].isdigit():
|
||||||
|
id = int(parts[-1])
|
||||||
|
# remove the ID from the input string
|
||||||
|
del parts[-1]
|
||||||
|
input = " ".join(parts)
|
||||||
|
|
||||||
|
# fetch the definitions
|
||||||
|
url = 'http://www.urbandictionary.com/iphone/search/define'
|
||||||
|
page = http.get_json(url, term=input)
|
||||||
|
defs = page['list']
|
||||||
|
|
||||||
|
if page['result_type'] == 'no_results':
|
||||||
|
return 'Not found.'
|
||||||
|
|
||||||
|
# try getting the requested definition
|
||||||
|
try:
|
||||||
|
out = "[%i/%i] %s: %s" % \
|
||||||
|
(id, len(defs), defs[id - 1]['word'],
|
||||||
|
defs[id - 1]['definition'])
|
||||||
|
except IndexError:
|
||||||
|
return 'Not found.'
|
||||||
|
|
||||||
|
if len(out) > 400:
|
||||||
|
out = out[:out.rfind(' ', 0, 400)] + '...'
|
||||||
|
|
||||||
|
return out
|
Reference in a new issue