Example #1
0
    def _uk_pron(self):
        sqlVocab = SqliteVocabulary("studyenglish.db", "vocabulary")
        for item in self.items:
            print("_uk_pron", self.tree.item(item,"text"))
            values = self.tree.item(item,"values")
            
            sound_dir, = sqlVocab.get_uk_sound(values[0])
            if not sound_dir:
                uks = self._get_uks_link_mp3_cambridge(values[0], values[0], item)
                if not uks:
                    words = sqlVocab.query_words_with_sql("word = '{}'".format(values[0]))
                    wn_tag = self.penn_to_wn(words[0][3])
                    uks = self._get_uks_link_mp3_cambridge(values[0], WordNetLemmatizer().lemmatize(values[0],wn_tag), item)
                if uks:
                    sound_dir = self._download_mp3_cambridge(uks[0], 'uk_pron')
                    if os.path.exists(sound_dir):
                        sqlVocab.update_uk_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
Example #2
0
    def _query_vocabulary_data(self, sql):
        self.tree.delete(*self.tree.get_children())
        self.data = {}

        sqlVocab = SqliteVocabulary("studyenglish.db", "vocabulary")
        words = sqlVocab.query_words_with_sql(sql)
        num = 0
        for w in words:
            num += 1
            self.data[num] = w
Example #3
0
 def _edit_vocabulary(self):
     # item = self.tree.selection()[0]
     #item = self.tree.identify('item',event.x,event.y)
     #print("you clicked on", self.tree.item(item,"text"))
     values = self.tree.item(self.item,"values")
     print(values[0])
     db = 'studyenglish.db'
     tbl = 'vocabulary'
     sqlVocab = SqliteVocabulary("studyenglish.db", "vocabulary")
     words = sqlVocab.query_words_with_sql("word = '{}'".format(values[0]))
     for w in words:
         root = tk.Tk()
         entry_window = EntryWindow(root, *[db, tbl, w])
         #root.mainloop()
         break