|
@@ -85,7 +85,7 @@ class labkeyURIHandler(slicer.vtkURIHandler):
|
|
|
#do this first
|
|
|
try:
|
|
|
self.ctx=ssl.SSLContext(ssl.PROTOCOL_SSLv23)
|
|
|
- self.ctx.load_cert_chain(cert,key,pwd)
|
|
|
+ self.ctx.load_cert_chain(cert,keyfile=key,password=pwd)
|
|
|
self.ctx.verify_mode=ssl.CERT_REQUIRED
|
|
|
self.ctx.load_verify_locations(cacert)
|
|
|
except ssl.SSLError as err:
|
|
@@ -324,6 +324,49 @@ class labkeyURIHandler(slicer.vtkURIHandler):
|
|
|
return None
|
|
|
# #remove retrieved file
|
|
|
|
|
|
+ def storeNode(self,node,project,dir=None):
|
|
|
+
|
|
|
+ removeFile=True
|
|
|
+ relativePath=project+'/%40files'
|
|
|
+ if not dir==None:
|
|
|
+ relativePath+='/'+dir
|
|
|
+ labkeyPath=self.GetLabkeyPathFromRelativePath(relativePath)
|
|
|
+ print ("Remote: {}").format(labkeyPath)
|
|
|
+
|
|
|
+ #checks if exists
|
|
|
+ self.mkdir(labkeyPath)
|
|
|
+
|
|
|
+ localPath=self.GetLocalPathFromRelativePath(relativePath)
|
|
|
+ localPath.replace('/',os.path.sep)
|
|
|
+
|
|
|
+ nodeName=node.GetName()
|
|
|
+
|
|
|
+ suffix=".nrrd"
|
|
|
+ if node.__class__.__name__=="vtkMRMLDoubleArrayNode":
|
|
|
+ suffix=".mcsv"
|
|
|
+ if node.__class__.__name__=="vtkMRMLTransformNode":
|
|
|
+ suffix=".h5"
|
|
|
+ fileName=nodeName+suffix
|
|
|
+ file=os.path.join(localPath,fileName)
|
|
|
+ slicer.util.saveNode(node,file)
|
|
|
+ print("Stored to: {}").format(file)
|
|
|
+ f=open(file,"rb")
|
|
|
+
|
|
|
+ f.seek(0,2)
|
|
|
+ sz=f.tell()
|
|
|
+ print("File size in memory: {0}").format(sz)
|
|
|
+ f.seek(0)
|
|
|
+
|
|
|
+ localBuffer=f.read()
|
|
|
+ print("Local buffer size: {}").format(len(localBuffer))
|
|
|
+ remoteFile=labkeyPath+'/'+fileName
|
|
|
+ resp=self.put(remoteFile,localBuffer)
|
|
|
+ print(resp.read())
|
|
|
+ f.close()
|
|
|
+ if removeFile:
|
|
|
+ os.remove(file)
|
|
|
+
|
|
|
+
|
|
|
|
|
|
def remoteDirExists(self,url):
|
|
|
status,dirs=self.listRemoteDir(url);
|