示例#1
0
文件: urban.py 项目: akuntz09/theater
def getDefinitions(given):
    definitions = database.find({'word':given})
    print definitions.count() == 0
    if definitions.count() == 0:
        print 'here'
        url = "http://api.urbandictionary.com/v0/define?term=%s" % given

        definitionList = []
        similars=[]

        jsondata = json.load(urllib.urlopen(url))
    
        for word in jsondata["tags"]:
            similars.append(word)

        print jsondata['list']
        for element in jsondata["list"]:
            definition={}
            defText=clean_string(element["definition"])
            useText=clean_string(element["example"])
            if not multiple_defs(defText) and not useText == defText:
                definition["definition"]=yahoo.makeText(defText, "definition")
                definition["use"]=yahoo.makeText(clean_string(useText), "use")
                if definition["definition"]["fits"]:
                    definitionList.append(definition)
                
        info = {}
        info['definitions'] = definitionList
        info['relatedWords'] = similars
        info['word'] = given
        database.insert(info)
        definitions = database.find({'word':given})

    return definitions
示例#2
0
def getDefinitions(given):
    definitions = database.find({'word': given})
    print(definitions.count() == 0)
    if definitions.count() == 0:
        print('here')
        url = "http://api.urbandictionary.com/v0/define?term=%s" % given

        definitionList = []
        similars = []

        jsondata = json.load(urllib.urlopen(url))

        for word in jsondata["tags"]:
            similars.append(word)

        print(jsondata['list'])
        for element in jsondata["list"]:
            definition = {}
            defText = clean_string(element["definition"])
            useText = clean_string(element["example"])
            if not multiple_defs(defText) and not useText == defText:
                definition["definition"] = yahoo.makeText(
                    defText, "definition")
                definition["use"] = yahoo.makeText(clean_string(useText),
                                                   "use")
                if definition["definition"]["fits"]:
                    definitionList.append(definition)

        info = {}
        info['definitions'] = definitionList
        info['relatedWords'] = similars
        info['word'] = given
        database.insert(info)
        definitions = database.find({'word': given})

    return definitions
示例#3
0
def getDefinitions(word):
    definitions = database.find({'word': word})
    if definitions.count() == 0:
        url = dictionaryURL % word

        xml = minidom.parse(ur.urlopen(url))
        entrylist = xml.getElementsByTagName('entry')

        definitionList = []
        relatedList = []

        relatedCount = 0

        for entry in entrylist:
            if word + "[" in entry.attributes['id'].value:
                definition = entry.getElementsByTagName("def")[0]
                for dt in definition.getElementsByTagName("dt"):
                    dt = clean_definition_text(dt.childNodes[0].nodeValue)
                    for newtext in dt.split(":"):
                        if len(newtext) > 5:
                            defstruct = {}
                            defstruct['word'] = word
                            defstruct['definition'] = yahoo.makeText(
                                newtext, 'definition')
                            definitionList.append(defstruct)
                            #print newtext
                            #print
            elif word in entry.attributes['id'].value:
                relatedList.append(entry.attributes['id'].value)

        info = {}
        info['definitions'] = definitionList
        info['relatedWords'] = relatedList
        info['word'] = word
        database.insert(info)
        definitions = database.find({'word': word})

    return definitions
示例#4
0
文件: dict.py 项目: akuntz09/theater
def getDefinitions(word):
	definitions = database.find({'word':word})
	if definitions.count() == 0:
		url = dictionaryURL % word
		
		xml = minidom.parse(urllib.urlopen(url))
		entrylist = xml.getElementsByTagName('entry')
		
		
		definitionList = []
		relatedList = []
		
		relatedCount = 0
		
		for entry in entrylist:
			if word+"[" in entry.attributes['id'].value:
				definition = entry.getElementsByTagName("def")[0]
				for dt in definition.getElementsByTagName("dt"):
					dt=clean_definition_text(dt.childNodes[0].nodeValue)
					for newtext in dt.split(":"):
						if len(newtext) > 5:
							defstruct = {}
							defstruct['word'] = word
							defstruct['definition'] = yahoo.makeText(newtext, 'definition')
							definitionList.append(defstruct)
							#print newtext
							#print
			elif word in entry.attributes['id'].value:
				relatedList.append(entry.attributes['id'].value)
				
		info = {}
		info['definitions'] = definitionList
		info['relatedWords'] = relatedList
		info['word'] = word
		database.insert(info)
		definitions = database.find({'word':word})

	return definitions