def ok_verse_cb(self, *a): all_verse = self.verse_all_bfr.get_text( self.verse_all_bfr.get_start_iter(), self.verse_all_bfr.get_end_iter(), False ).decode("utf8") verse0 = self.verse_prog_bfr.get_text( self.verse_prog_bfr.get_start_iter(), self.verse_prog_bfr.get_end_iter(), False ).decode("utf8") rawi0 = daw_araby.NAMES[daw_tools.rawi_poem(verse0.strip())] verse1 = self.verse_usr_bfr.get_text( self.verse_usr_bfr.get_start_iter(), self.verse_usr_bfr.get_end_iter(), False ).decode("utf8") if verse1 == u"": return rawi1 = daw_araby.NAMES[daw_tools.rawi_poem(verse1.strip())] first1 = daw_araby.NAMES[verse1.strip()[0]] if first1 != rawi0: daw_customs.erro(self.parent, "البيت يبدأ بحرف غير الذي انتهى به الأول\nحاول مجددا .") return if self.db.is_verse(verse1): if daw_araby.fuzzy_plus(verse1) in daw_araby.fuzzy_plus(all_verse): daw_customs.erro(self.parent, "البيت مستخدم مسبقا\nحاول مجددا .") return else: daw_customs.info(self.parent, "أحسنت") self.verse_all_bfr.insert(self.verse_all_bfr.get_end_iter(), u"\nالمستخدم : " + verse1.strip()) d = int(self.lab_answer_user.get_label()) + 1 self.lab_answer_user.set_label(str(d)) self.next_verse(rawi1) else: daw_customs.erro(self.parent, "البيت غير موجود في قاعدة بيانات البرنامج\nحاول مجددا .") return daw_customs.with_tag(self.verse_all_bfr, self.verse_all_tag, ["البرنامج : "]) self.verse_all.scroll_to_iter(self.verse_all_bfr.get_end_iter(), 0, 1, 1, 1)
def next_verse(self, rawi): all_verse = self.verse_all_bfr.get_text( self.verse_all_bfr.get_start_iter(), self.verse_all_bfr.get_end_iter(), False ).decode("utf8") if rawi == u"همزة": r = u"أ" elif rawi == u"ألف": r = u"ا" else: r = rawi[0] verses = self.db.first_in_verse(r) random.shuffle(verses) if len(verses) == 0: daw_customs.erro(self.parent, "لا يوجد بيت جديد يبدأ بحرف {}".format(rawi)) return else: for a in verses: if daw_araby.fuzzy_plus(a[0]) not in daw_araby.fuzzy_plus(all_verse): self.verse_prog_bfr.set_text(a[0].strip()) self.verse_all_bfr.insert(self.verse_all_bfr.get_end_iter(), u"\nالبرنامج : " + a[0].strip()) d = int(self.lab_answer_prog.get_label()) + 1 self.lab_answer_prog.set_label(str(d)) self.verse_usr_bfr.set_text("") i = self.db.id_poet(a[1]) self.lab_speaker0.set_label(self.db.name_poet(i)[1]) if a[0] == None: return r = self.db.rawi_poem(a[1]) rawi = daw_araby.NAMES[daw_tools.rawi_poem(a[0].strip())] self.lab_rawi.set_label(rawi) return daw_customs.erro(self.parent, "لا يوجد بيت جديد يبدأ بحرف {}".format(rawi))
def answer_verse_cb(self, *a): verse = self.verse_prog_bfr.get_text( self.verse_prog_bfr.get_start_iter(), self.verse_prog_bfr.get_end_iter(), False ).decode("utf8") rawi = daw_araby.NAMES[daw_tools.rawi_poem(verse.strip())] self.verse_all_bfr.insert(self.verse_all_bfr.get_end_iter(), "\nالمستخدم : لم يجب") self.next_verse(rawi) daw_customs.with_tag(self.verse_all_bfr, self.verse_all_tag, ["البرنامج : "]) self.verse_all.scroll_to_iter(self.verse_all_bfr.get_end_iter(), 0, 1, 1, 1)
def new_verse_debate(self, *a): try: verse, id_poem = self.chose_verse() except: return i = self.db.id_poet(id_poem) self.lab_speaker0.set_label(self.db.name_poet(i)[1]) if verse == None: return r = self.db.rawi_poem(id_poem) rawi = daw_araby.NAMES[daw_tools.rawi_poem(verse.strip())] self.lab_rawi.set_label(rawi) self.verse_prog_bfr.set_text(verse.strip()) self.verse_all_bfr.set_text(u"البرنامج : " + verse.strip()) self.verse_usr_bfr.set_text("") self.lab_answer_prog.set_label("0") self.lab_answer_user.set_label("0")