Exemple #1
0
 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())