Beispiel #1
0
 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)
Beispiel #2
0
 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))
Beispiel #3
0
 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)
Beispiel #4
0
 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")