def lookup(self, *args): self.getInfoButton.configure(state=tk.DISABLED) sterm = self.searchBoxVar.get() option = self.searchOptionVar.get() if not sterm: logTC("Nothing entered into search box.", "ERROR") e = ErrorWindow(self, "Nothing entered into search box.") return False if option == 'Last,First': sterm = nameVAndF(sterm) if not sterm: logTC("Entered name not in correct format.", "ERROR") e = ErrorWindow(self, "Entered name not in correct format.") elif not sterm[1]: ln = sterm[0] results = filt('patrons', lname=ln) elif not sterm[0]: fn = sterm[1] results = filt('patrons', fname=fn) else: ln = sterm[0] fn = sterm[1] results = filt('patrons', fname=fn, lname=ln) if option == 'Municipality': results = filt('patrons', muni=sterm) if option == 'State': results = filt('patrons', state=sterm) self.populate(results)
def lookup(self, *args): self.getInfoButton.configure(state=tk.DISABLED) sterm = self.searchBoxVar.get() option = self.searchOptionVar.get() if not sterm: logTC("Nothing entered into search box.", "ERROR") e = ErrorWindow(self, "Nothing entered into search box.") return False else: if option == 'Last,First': sterm = nameVAndF(sterm) if not sterm: logTC("Entered name not in correct format.", "ERROR") e = ErrorWindow(self, "Entered name not in correct format.") else: if self.exactSearch.get(): if not sterm[1]: ln = sterm[0] results = filt('patrons', lname=ln) elif not sterm[0]: fn = sterm[1] results = filt('patrons', fname=fn) else: ln = sterm[0] fn = sterm[1] results = filt('patrons', fname=fn, lname=ln) else: results = getAll('patrons') w_results = [] for result in results: rl = 0 rf = 0 try: rl = difflib.SequenceMatcher(None, result[3], sterm[0]).ratio() rf = difflib.SequenceMatcher(None, result[1], sterm[1]).ratio() except TypeError: pass w_results.append((result, rl + rf)) w_results = sorted(w_results, key=lambda x: x[1], reverse=True) results= [] for res in w_results: results.append(res[0]) if option == 'Municipality': if self.exactSearch.get(): results = filt('patrons', muni=sterm) else: results = getAll('patrons') w_results = [] for result in results: ratio = difflib.SequenceMatcher(None, result[4], sterm).ratio() w_results.append((result, ratio)) w_results = sorted(w_results, key=lambda x: x[1], reverse=True) results = [] for res in w_results: results.append(res[0]) if option == 'State': if self.exactSearch.get(): results = filt('patrons', state=sterm) else: results = getAll('patrons') w_results = [] for result in results: ratio = difflib.SequenceMatcher(None, result[5], sterm).ratio() w_results.append((result, ratio)) w_results = sorted(w_results, key=lambda x: x[1], reverse=True) results = [] for res in w_results: results.append(res[0]) self.populate(results)