def parseReadings(self): items_grouped = {} for kanji in self.items: readings = {} try: lookup = self.kjd[kanji.character] for kun in lookup.kun_readings: kun = kun.replace('.', '').replace('-', '') for word in kanji.word: if kun in kata2hira(MecabTool.parseToReadingsKana(word.word)[0]): if readings.has_key(kun): readings[kun].append(word.word) else: readings[kun] = [word.word] for on in lookup.on_readings: on = kata2hira(on.replace('.', '').replace('-', '')) for word in kanji.word: if on in kata2hira(MecabTool.parseToReadingsKana(word.word)[0]): if readings.has_key(on): readings[on].append(word.word) else: readings[on] = [word.word] except Exception, e: log.error(e) # simple solution - difficult implementation # items_grouped[kanji.character] = readings # slightly more complicated solution - easier implementation for reading in readings: i = 0 if items_grouped.has_key(kanji.character): items_grouped[kanji.character + '_' + str(i)] = (reading, readings[reading]); i += 1 else: items_grouped[kanji.character] = (reading, readings[reading])
def getCurrentSentenceReading(self): return kata2hira(''.join(MecabTool.parseToReadingsKana(self.currentExample.sentence)))
def getExamplesKana(query): return JishoClient.getExamples(kata2hira(''.join(MecabTool.parseToReadingsKana(query)))) #it works but slightly incorrect (mecab shenanigans) #test = JishoClient.getExamplesKana(u'軈て') #print '\n'.join(test)