Explorar o código

Adding list interface

Andrej Studen %!s(int64=5) %!d(string=hai) anos
pai
achega
2fa22052c2
Modificáronse 1 ficheiros con 23 adicións e 0 borrados
  1. 23 0
      labkeySlicerPythonExtension/slicerNetwork.py

+ 23 - 0
labkeySlicerPythonExtension/slicerNetwork.py

@@ -527,3 +527,26 @@ class labkeyURIHandler(slicer.vtkURIHandler):
         url=self.GetLabkeyUrl()+'/'+project
         url+='/query-'+method+'Rows.api?'
         return self.post(url,json.dumps(data))
+
+    def filterList(self,project,dataset,filter):
+        schemaName='lists'
+        debug=True
+        url=self.GetLabkeyUrl()+'/'+project
+        url+='/query-selectRows.api?schemaName='+schemaName+'&query.queryName='+dataset
+        for f in filter:
+            url+="&query."+f['variable']+"~"+f['oper']+"="+f['value']
+        if debug:
+            print("Sending {}").format(url)
+        return json.load(self.get(url))
+
+
+    def modifyList(self,method,project,dataset,rows):
+        #method can be insert or update
+        data={}
+        schemaName='lists'
+        data['schemaName']=schemaName
+        data['queryName']=dataset
+        data['rows']=rows
+        url=self.GetLabkeyUrl()+'/'+project
+        url+='/query-'+method+'Rows.api?'
+        return self.post(url,json.dumps(data))