def search(self, data): """search database """ self.lastSearchData = data query = """ select * from patient.patient where """ filenoquery = "file_number=%(folderno)s" % data surnamequery = "surname ~* '%(surname)s'" % data firstnamequery = "first_names ~* '%(name)s'" % data bdatequery = "birth_date ~* '%(bdate)s'" % data post = """ order by surname desc limit 50 """ qlist = [] if data["folderno"]: qlist.append(filenoquery) if data["surname"]: qlist.append(surnamequery) if data["name"]: qlist.append(firstnamequery) if data["bdate"]: qlist.append(bdatequery) if len(qlist) > 1: mq = " and ".join(qlist) elif len(qlist) != 0: mq = qlist[0] else: BARWRITER.write("No Matches Found") return [] q = query + mq + post cursor = self.conn.cursor() cursor.execute(q) # set the rusult Result.setResult(cursor.dictfetchall()) BARWRITER.write("Save Completed at %s" % time.ctime())