Example #1
0
    def _us_pron(self):
        sqlVocab = SqliteVocabulary("studyenglish.db", "vocabulary")
        for item in self.items:
            print("_us_pron", self.tree.item(item,"text"))
            values = self.tree.item(item,"values")
            
            sound_dir, = sqlVocab.get_us_sound(values[0])
            if not sound_dir:
                uss = self._get_uss_link_mp3_cambridge(values[0], values[0], item)
                if not uss:
                    words = sqlVocab.query_words_with_sql("word = '{}'".format(values[0]))
                    wn_tag = self.penn_to_wn(words[0][3])
                    uss = self._get_uss_link_mp3_cambridge(values[0], WordNetLemmatizer().lemmatize(values[0],wn_tag), item)
                if uss:
                    sound_dir = self._download_mp3_cambridge(uss[0], 'us_pron')
                    if os.path.exists(sound_dir):
                        sqlVocab.update_us_sound(values[0], sound_dir)

            if os.path.exists(sound_dir):
                from pygame import mixer
                mixer.init()
                mixer.music.load(sound_dir)
                mixer.music.play()
                if len(self.items)>1:
                    import time
                    time.sleep(2) # delays for 2 seconds