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
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
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
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