Пример #1
0
 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)
Пример #2
0
 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)