MCPcopy Create free account
hub / github.com/Slicer/Slicer / onReload

Method onReload

Modules/Scripted/WebServer/WebServer.py:224–259  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

222 self.webWidget.show()
223
224 def onReload(self):
225 logging.debug("Reloading WebServer")
226 slicer._webServerStarted = self.logic.serverStarted
227 self.stopServer()
228
229 packageName = "WebServerLib"
230 submoduleNames = ["SlicerRequestHandler", "StaticPagesRequestHandler"]
231 if hasattr(slicer.modules, "dicom"):
232 submoduleNames.append("DICOMRequestHandler")
233
234 import importlib.util
235
236 # Locate and reload package
237 spec = importlib.util.find_spec(packageName)
238 if spec is None:
239 raise ImportError(f"Cannot find package {packageName}")
240 package = importlib.util.module_from_spec(spec)
241 sys.modules[packageName] = package
242 spec.loader.exec_module(package)
243
244 # Reload each submodule from the package
245 for submoduleName in submoduleNames:
246 full_name = f"{packageName}.{submoduleName}"
247 sub_spec = importlib.util.find_spec(full_name)
248 if sub_spec is None:
249 raise ImportError(f"Cannot find submodule {full_name}")
250 submodule = importlib.util.module_from_spec(sub_spec)
251 sys.modules[full_name] = submodule
252 sub_spec.loader.exec_module(submodule)
253
254 ScriptedLoadableModuleWidget.onReload(self)
255
256 # Restart web server if it was running
257 if slicer._webServerStarted:
258 slicer.modules.WebServerWidget.startServer()
259 del slicer._webServerStarted
260
261 def logMessage(self, *args):
262 if self.consoleMessages:

Callers

nothing calls this directly

Calls 4

stopServerMethod · 0.95
debugMethod · 0.80
appendMethod · 0.80
startServerMethod · 0.80

Tested by

no test coverage detected