labkeyDatabaseBrowser.py 995 B

123456789101112131415161718192021222324252627282930313233
  1. import labkeyInterface
  2. import json
  3. class labkeyDB:
  4. def __init__(self,net):
  5. self.net=net
  6. def selectRows(self,project,schemaName, queryName,qfilter):
  7. debug=False
  8. url=self.net.GetLabkeyUrl()+'/'+project
  9. url+='/query-selectRows.api?schemaName='+schemaName+\
  10. '&query.queryName='+queryName
  11. for f in qfilter:
  12. url+="&query."+f['variable']+"~"+f['oper']+"="+f['value']
  13. if debug:
  14. print("Sending {}").format(url)
  15. response=self.net.get(url)
  16. return json.loads(response.data)
  17. def modifyRows(self,mode, project,schemaName, queryName, rows):
  18. #mode can be insert/update/delete
  19. debug=True
  20. data={}
  21. data['schemaName']=schemaName
  22. data['queryName']=queryName
  23. data['rows']=rows
  24. url=self.net.GetLabkeyUrl()+'/'+project
  25. url+='/query-'+mode+'Rows.api?'
  26. response=self.net.post(url,json.dumps(data))
  27. return response.data