def visible_cb(self, model, itr, data): if len(self.theword) == 0: return if asm_araby.fuzzy(self.theword[0]) in asm_araby.fuzzy( model.get_value(itr, 1)): return True else: return False
def search_in_index(self, model, path, i, my_books): txt = model.get(i, 1)[0] text, model0, path0, i0 = my_books if asm_araby.fuzzy(text) in asm_araby.fuzzy( txt) and path.compare(path0) > 0: self.tree_books.expand_to_path(path) self.tree_books.scroll_to_cell(path) self.sel_books.select_path(path) return True else: return False
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)
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)
def tardjma(self, text): s = '''fuzzy(name) LIKE ? ESCAPE "|"''' text = asm_araby.fuzzy(text) self.search_tokens = asm_araby.tokenize_search(text) l = list( map(lambda s: '%' + s.replace('|', '||').replace('%', '|%') + '%', self.search_tokens)) if len(l) < 1: return [] condition = ' AND '.join([s] * len(l)) self.cur.execute( """SELECT id, name FROM rewat WHERE {}""".format(condition), l) tarjama = self.cur.fetchall() return tarjama
def author(self, text): s = '''fuzzy(lng) LIKE ? ESCAPE "|"''' text = asm_araby.fuzzy(text) self.search_tokens = asm_araby.tokenize_search(text) l = list( map(lambda s: '%' + s.replace('|', '||').replace('%', '|%') + '%', self.search_tokens)) if len(l) < 1: return [] condition = ' AND '.join([s] * len(l)) self.cur.execute( """SELECT authid, auth FROM auth WHERE {}""".format(condition), l) authors = self.cur.fetchall() return authors
def search_entry(self, *a): text = asm_araby.fuzzy(self.entry_index.get_text()) if text == '': self.scroll_index.show_all() self.scroll_search.hide() else: self.scroll_index.hide() titles = self.db.search_index(text) self.store_search.clear() c = 1 for a in titles: self.store_search.append([a[0], c, a[1], '', 0, 0, '', 0]) c += 1 self.scroll_search.show_all()
def search(self, text): s = '''fuzzy(imlai) LIKE ? ESCAPE "|"''' text = asm_araby.fuzzy(text) self.search_tokens = asm_araby.tokenize_search(text) l = list( map(lambda s: '%' + s.replace('|', '||').replace('%', '|%') + '%', self.search_tokens)) if len(l) < 1: return [] condition = ' AND '.join([s] * len(l)) self.cur.execute( """SELECT sura, aya, page, othmani, imlai, id_binary FROM Quran WHERE {} LIMIT 50""" .format(condition, ), l) ayat = self.cur.fetchall() return ayat
def search_on_active(self, text): if text == '': return self.store_search.clear() self.scroll_index.hide() self.scroll_search.show_all() phrase = '''fuzzy(nass) LIKE ? ESCAPE "|"''' text = asm_araby.fuzzy(text) self.search_tokens = asm_araby.tokenize_search(text) phrase2 = list( map( lambda phrase: '%' + phrase.replace('|', '||').replace( '%', '|%') + '%', self.search_tokens)) if len(phrase2) < 1: return [] condition = ' AND '.join([phrase] * len(phrase2)) self.db.search(text, self.store_search, condition, phrase2) if len(self.store_search) == 0: self.hide_search() asm_customs.erro(self.parent, 'لا يوجد نتائج') return self.hp.set_position(200)
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)
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)
def search_books(self, text): self.cur.execute( 'SELECT id_book, tit FROM books WHERE fuzzy(tit) LIKE ? LIMIT 100', ('%' + asm_araby.fuzzy(text) + '%', )) books = self.cur.fetchall() return books