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