Esempio n. 1
0
 def search_now(self, text):
     search_tokens1 = []
     search_tokens2 = []
     star_iter1 = self.view_nasse_bfr1.get_start_iter()
     end_iter1 = self.view_nasse_bfr1.get_end_iter()
     star_iter2 = self.view_nasse_bfr2.get_start_iter()
     end_iter2 = self.view_nasse_bfr2.get_end_iter()
     self.view_nasse_bfr1.remove_tag_by_name("search1", star_iter1, end_iter1)
     self.view_nasse_bfr2.remove_tag_by_name("search2", star_iter2, end_iter2)
     nasse1 = self.view_nasse_bfr1.get_text(star_iter1, end_iter1, True)
     nasse2 = self.view_nasse_bfr2.get_text(star_iter2, end_iter2, True)
     if text == '': 
         return
     else:
         text = text.strip()
         ls_term = asm_araby.fuzzy(text).split(' ')
     for text in ls_term:
         if len(text) == 1 or text == "ال": continue
         new_term = ''
         for l in text:
             new_term += '({}(\u0651)?([\u064b\u064c\u064d\u064e\u064f\u0650\u0652])?)'.format(l, )
         new_term = new_term.replace('ا', '[اأإؤءئى]')
         new_term = new_term.replace('ه', '[هة]')
         re_term = re.compile('({})'.format(new_term,))
         r_findall1 = re_term.findall(nasse1)
         r_findall2 = re_term.findall(nasse2)
         for r in r_findall1:
             if r[0] not in search_tokens1: search_tokens1.append(r[0])
         for r in r_findall2:
             if r[0] not in search_tokens2: search_tokens2.append(r[0])
     asm_customs.with_tag(self.view_nasse_bfr1, self.view_search_tag1, search_tokens1, 1, self.view_nasse1)
     asm_customs.with_tag(self.view_nasse_bfr2, self.view_search_tag2, search_tokens2, 1, self.view_nasse2)
Esempio n. 2
0
 def show_page(self, id_page):
     self.all_in_page = self.db.get_text_body(id_page)#rowid, id, text, part, page, hno, sora, aya, na
     if asm_config.getn('tashkil') == 0: now_text = asm_araby.stripHarakat(self.all_in_page[2])
     else: now_text = self.all_in_page[2]
     self.has_commment(id_page)
     titles = self.db.titles_page(self.all_in_page[1])
     ch = self.stack.get_visible_child_name()
     if ch == "n1": 
         self.view_nasse_bfr2.set_text(now_text)
         self.view_nasse_bfr2.insert(self.view_nasse_bfr2.get_end_iter(), " \n")
         try: asm_customs.with_tag(self.view_nasse_bfr2, self.view_title_tag2, titles)
         except: pass 
     else:
         self.view_nasse_bfr1.set_text(now_text)
         self.view_nasse_bfr1.insert(self.view_nasse_bfr1.get_end_iter(), " \n")
         try: asm_customs.with_tag(self.view_nasse_bfr1, self.view_title_tag1, titles)
         except: pass
     self.is_tafsir(self.all_in_page)
     self.current_id = self.all_in_page[0]
     self.ent_page.set_text(str(self.all_in_page[4]))
     self.ent_part.set_text(str(self.all_in_page[3]))
     text = self.parent.entry_search.get_text()
     if len(text) >= 2 and text != "ال": 
         self.search_now(text)
     if len(self.opened_old) == 0: self.opened_old.append(id_page)
     elif id_page != self.opened_old[-1]: self.opened_old.append(id_page)
     self.stack.show_all()
     self.scroll_nasse1.get_vadjustment().set_value(0.0)
     self.scroll_nasse2.get_vadjustment().set_value(0.0)
Esempio n. 3
0
 def show_page(self, id_page):
     self.all_in_page = self.db.get_text_body(id_page)#rowid, id, text, part, page, hno, sora, aya, na
     self.view_nasse_bfr.set_text(self.all_in_page[2])
     titles = self.db.titles_page(self.all_in_page[1])
     asm_customs.with_tag(self.view_nasse_bfr, self.view_title_tag, titles)
     self.is_tafsir(self.all_in_page)
     self.current_id = self.all_in_page[0]
     text = self.parent.entry_search.get_text()
     if len(text) >= 2 and text != u"ال": 
         self.search_now(text)
     self.show_term_search()
Esempio n. 4
0
 def show_term_search(self, *a):
     search_tokens = []
     nasse = self.view_nasse_bfr.get_text(
         self.view_nasse_bfr.get_start_iter(), self.view_nasse_bfr.get_end_iter(), True
     ).split()
     for text in self.ls_term:
         txt = asm_araby.fuzzy(text)
         for term in nasse:
             if txt in asm_araby.fuzzy(term):
                 search_tokens.append(term)
     asm_customs.with_tag(self.view_nasse_bfr, self.view_search_tag, search_tokens, 1, self.view_nasse)
Esempio n. 5
0
 def search_on_page(self, text):
     self.show_page(self.all_in_page[1])
     search_tokens = []
     nasse = self.view_nasse_bfr.get_text(self.view_nasse_bfr.get_start_iter(), 
                                         self.view_nasse_bfr.get_end_iter(),True).split()
     if text == u'': 
         return
     else:
         txt = asm_araby.fuzzy(text)
         for term in nasse: 
             if txt in asm_araby.fuzzy(term):
                 search_tokens.append(term)
     asm_customs.with_tag(self.view_nasse_bfr, self.view_search_tag, search_tokens, 1)
Esempio n. 6
0
 def search_on_page(self, text):
     self.show_charh()
     search_tokens = []
     nasse = self.view_dict_bfr.get_text(self.view_dict_bfr.get_start_iter(), 
                                         self.view_dict_bfr.get_end_iter(),True).split()
     if text == u'': 
         for a in self.all_term:
             txt = asm_araby.fuzzy(a)
             for term in nasse: 
                 if txt in asm_araby.fuzzy(term):
                     search_tokens.append(term)
     else:
         txt = asm_araby.fuzzy(text)
         for term in nasse: 
             if txt in asm_araby.fuzzy(term):
                 search_tokens.append(term)
     asm_customs.with_tag(self.view_dict_bfr, self.search_tag, search_tokens)
Esempio n. 7
0
 def show_term_search(self, *a):
     search_tokens = []
     nasse0 = self.view_nasse_bfr.get_text(self.view_nasse_bfr.get_start_iter(), 
                                         self.view_nasse_bfr.get_end_iter(),True)
     for text in self.ls_term:
         new_term = u''
         for l in text:
             new_term += u'({}(\u0651)?([\u064b\u064c\u064d\u064e\u064f\u0650\u0652])?)'.format(l, )
         new_term = new_term.replace(u'ا', u'[اأإؤءئى]')
         new_term = new_term.replace(u'ه', u'[هة]')
         re_term = re.compile(u'({})'.format(new_term,))
         r_findall = re_term.findall(nasse0)
         for r in r_findall:
             try: 
                 if r[0] not in search_tokens: search_tokens.append(r[0])
             except: pass
     asm_customs.with_tag(self.view_nasse_bfr, self.view_search_tag, search_tokens, 1, self.view_nasse)
Esempio n. 8
0
 def search_now(self, text):
     search_tokens = []
     nasse = self.view_nasse_bfr.get_text(self.view_nasse_bfr.get_start_iter(), 
                                         self.view_nasse_bfr.get_end_iter(),True)
     if text == u'': 
         return
     else:
         text = text.strip()
         ls_term = asm_araby.fuzzy(text).split(u' ')
     for text in ls_term:
         if len(text) == 1 or text == u"ال": continue
         new_term = u''
         for l in text:
             new_term += u'({}(\u0651)?([\u064b\u064c\u064d\u064e\u064f\u0650\u0652])?)'.format(l, )
         new_term = new_term.replace(u'ا', u'[اأإؤءئى]')
         new_term = new_term.replace(u'ه', u'[هة]')
         re_term = re.compile(u'({})'.format(new_term,))
         r_findall = re_term.findall(nasse)
         for r in r_findall:
             if r[0] not in search_tokens: search_tokens.append(r[0])
     asm_customs.with_tag(self.view_nasse_bfr, self.view_search_tag, search_tokens, 1, self.view_nasse)
Esempio n. 9
0
    def show_tarjama(self, *a):
        model, i = self.sel_tarjama.get_selected()
        if i:
            id_rawi = model.get_value(i,0)
            rawi = self.db.show_rawi(id_rawi)
            rawa_anhe_txt = u''
            for t in rawi[3].split(' '):
                if t in self.rawa_anhe.keys():
                    rawa_anhe_txt += re.sub(t, self.rawa_anhe[t], t)
            text = u'''الاسم :  {}
المولد :  {}
الوفاة :  {}
الطبقة :  {}
الرواة عنه :  {} : {}
الرتبة عند الحافظ :  {}
الرتبة عند الذهبي :  {}'''.format(rawi[1], rawi[6], rawi[7], 
                                  rawi[2], rawi[3], rawa_anhe_txt, rawi[4], rawi[5])  
            
            text = re.sub("F", u'صحابي رضي الله عنه', text)
            text = re.sub("G", u'الثانية ، كبار التابعين', text)
            text = re.sub("H", u'الثالثة ، الوسطى من التابعين', text)
            text = re.sub("I", u'الرابعة ، تلي الوسطى من التابعين', text)
            text = re.sub("J", u'الخامسة ، صغار التابعين', text)
            text = re.sub("K", u'السادسة ، الذين عاصروا صغار التابعين', text)
            text = re.sub("L", u'السابعة ، كبار أتباع التابعين', text)
            text = re.sub("M", u'الثامنة ، الوسطى من أتباع التابعين', text)
            text = re.sub("N", u'التاسعة ، صغار أتباع التابعين', text)
            text = re.sub("O", u'العاشرة ، كبار الآخذين عن تبع الأتباع', text)
            text = re.sub("P", u'الحادية عشرة ، الوسطى من الآخذين عن تبع الأتباع', text)
            text = re.sub("Q", u'الثانية عشرة ، صغار الآخذين عن تبع الأتباع', text)
            text = re.sub("&lt;", u'<', text)
            text = re.sub("&gt;", u'>', text)
            text = re.sub("&quot;", u'"', text)
            text = re.sub("W", u'صلى الله عليه وسلم', text)
            text = re.sub(u"1 :", u'الأولى ،', text)
            self.view_tarjama_bfr.set_text(text)
            asm_customs.with_tag(self.view_tarjama_bfr, self.view_tarjama_tag, self.tags)
Esempio n. 10
0
    def ok_index(self, *a):  
        model, i = self.sel_index.get_selected()
        if i:
            p = model.get_path(i)
            if model.iter_has_child(i) :
                if self.tree_index.row_expanded(p):
                    self.tree_index.collapse_row(p)
                else: 
                    self.tree_index.expand_row(p, False)
            id_page = model.get_value(i, 0)
            tit = model.get_value(i, 1)

            if self.current_id < id_page: self.stack.set_transition_type(self.style_browse_next)
            elif self.current_id > id_page: self.stack.set_transition_type(self.style_browse_prev)
            elif self.current_id == id_page: return
            self.show_page(id_page)
            ch = self.stack.get_visible_child_name()
            if ch == "n1": 
                self.stack.set_visible_child_name("n2")
                asm_customs.with_tag(self.view_nasse_bfr1, self.title_select_tag1, [tit,], 0, self.view_nasse1)
            else: 
                self.stack.set_visible_child_name("n1")
                asm_customs.with_tag(self.view_nasse_bfr2, self.title_select_tag2, [tit,], 0, self.view_nasse2)
            GObject.timeout_add(200, self.reset_event)