From: Anthony Geay Date: Mon, 12 Jun 2023 13:52:10 +0000 (+0200) Subject: [EDF27816] : prevent my_container from killing X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=af0b5b9989c105d2655352cd2aee146def14b7f1;p=modules%2Fkernel.git [EDF27816] : prevent my_container from killing --- diff --git a/src/Container/SALOME_PyNode.py b/src/Container/SALOME_PyNode.py index fc4bf8311..c2c9b06c7 100644 --- a/src/Container/SALOME_PyNode.py +++ b/src/Container/SALOME_PyNode.py @@ -30,6 +30,8 @@ import Engines__POA import SALOME__POA import SALOME +MY_CONTAINER_ENTRY_IN_GLBS = "my_container" + class Generic(SALOME__POA.GenericObj): """A Python implementation of the GenericObj CORBA IDL""" def __init__(self,poa): @@ -66,7 +68,7 @@ class PyNode_i (Engines__POA.PyNode,Generic): linecache.cache[nodeName]=0,None,code.split('\n'),nodeName ccode=compile(code,nodeName,'exec') self.context={} - self.context["my_container"] = self.my_container + self.context[MY_CONTAINER_ENTRY_IN_GLBS] = self.my_container exec(ccode, self.context) def getContainer(self): @@ -372,7 +374,7 @@ class PyScriptNode_i (Engines__POA.PyScriptNode,Generic): linecache.cache[nodeName]=0,None,code.split('\n'),nodeName self.ccode=compile(code,nodeName,'exec') self.context={} - self.context["my_container"] = self.my_container + self.context[MY_CONTAINER_ENTRY_IN_GLBS] = self.my_container def getContainer(self): return self.my_container @@ -464,7 +466,7 @@ class PyScriptNode_i (Engines__POA.PyScriptNode,Generic): def listAllVarsInContext(self): import re pat = re.compile("^__([a-z]+)__$") - return [elt for elt in self.context if not pat.match(elt)] + return [elt for elt in self.context if not pat.match(elt) and elt != MY_CONTAINER_ENTRY_IN_GLBS] def removeAllVarsInContext(self): for elt in self.listAllVarsInContext():