瀏覽代碼

Have slicerNetwork handle plain http also

Andrej Studen 6 年之前
父節點
當前提交
cb389ee918
共有 1 個文件被更改,包括 8 次插入4 次删除
  1. 8 4
      labkeySlicerPythonExtension/slicerNetwork.py

+ 8 - 4
labkeySlicerPythonExtension/slicerNetwork.py

@@ -42,6 +42,7 @@ class labkeyURIHandler(slicer.vtkURIHandler):
 	    #in windows, the variable is called HOMEPATH
 	       fhome=os.environ['HOMEDRIVE']+os.environ['HOMEPATH']
 	       self.localCacheDirectory=os.path.join(fhome,"labkeyCache")
+        self.mode="http"
 
     def CanHandleURI(self,uri):
         print "labkeyURIHandler::CanHandleURI({0})".format(uri)
@@ -177,7 +178,7 @@ class labkeyURIHandler(slicer.vtkURIHandler):
             self.ctx.load_verify_locations(cacert)
         except ssl.SSLError as err:
             print " Failed to configure SSL: {0}".format(str(err))
-
+        self.mode="https"
 
 
     def connectRemote(self,serverUrl,uname,pwd):
@@ -198,11 +199,14 @@ class labkeyURIHandler(slicer.vtkURIHandler):
         self.opener.open(r)
 
     def initRemote(self):
-        https_handler=urllib2.HTTPSHandler(context=self.ctx)
+        if self.mode=="https":
+            http_handler=urllib2.HTTPSHandler(context=self.ctx)
+        if self.mode="http":
+            http_handler=urllib2.HTTPHandler()
         #cookie part
         cj=cookielib.CookieJar()
         cookie_handler=urllib2.HTTPCookieProcessor(cj)
-        self.opener=urllib2.build_opener(https_handler,cookie_handler)
+        self.opener=urllib2.build_opener(http_handler,cookie_handler)
 
     def parseConfig(self,fname):
         try:
@@ -222,7 +226,7 @@ class labkeyURIHandler(slicer.vtkURIHandler):
         self.hostname=dt['host']
         self.auth_name=dt['labkey']['user']
         self.auth_pass=dt['labkey']['password']
-        
+
 
 
     #cj in opener contains the cookies