示例#1
0
文件: guiRehash.py 项目: Xifax/suzu
    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])
示例#2
0
文件: srsManager.py 项目: Xifax/suzu
 def getCorrectAnswer(self):
     words = MecabTool.parseToWordsFull(self.currentExample.sentence)
     answer = self.find(lambda word: self.currentItem.character in word['word'] , words)
     try:
         return kata2hira(answer['pronunciation'])
     except Exception:
         return u' '
示例#3
0
文件: srsManager.py 项目: Xifax/suzu
 def getWordPronunciationFromExample(self, item):
     words = MecabTool.parseToWordsFull(self.currentExample.sentence)
     answer = self.find(lambda word: item in word['word'] , words)
     try:
         return kata2hira(answer['pronunciation'])
     except Exception:
         return u' '
示例#4
0
文件: srsManager.py 项目: Xifax/suzu
 def getCurrentSentenceReading(self):
     return kata2hira(''.join(MecabTool.parseToReadingsKana(self.currentExample.sentence)))
示例#5
0
文件: srsManager.py 项目: Xifax/suzu
 def parseCurrentExample(self):
     return MecabTool.parseToWordsOnly(self.currentExample.sentence)
示例#6
0
文件: srsManager.py 项目: Xifax/suzu
 def getWordPronounciation(self, item):
     try:
         return kata2hira(MecabTool.parseToWordsFull(item)[0]['pronunciation'])
     except:
         return item
示例#7
0
文件: srsManager.py 项目: Xifax/suzu
 def getWordNonInflectedForm(self, item):
     try:
         return MecabTool.parseToWordsFull(item)[0]['nform']
     except:
         return item
示例#8
0
文件: srsManager.py 项目: Xifax/suzu
 def getParsedExampleInFull(self):
     return MecabTool.parseToWordsFull(self.currentExample.sentence)
示例#9
0
文件: srsManager.py 项目: Xifax/suzu
 def getWordFromExample(self):
     words = MecabTool.parseToWordsFull(self.currentExample.sentence)
     answer = self.find(lambda word: self.currentItem.character in word['word'] , words)
     return answer['word']
示例#10
0
文件: jisho.py 项目: Xifax/suzu
    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)