From 2060c9a0c4fcb35e59a5de76037257a29f79d6dd Mon Sep 17 00:00:00 2001 From: Anthony Geay Date: Mon, 12 Jun 2023 15:52:10 +0200 Subject: [PATCH] [EDF27816] : prevent my_container from killing --- src/Container/SALOME_PyNode.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Container/SALOME_PyNode.py b/src/Container/SALOME_PyNode.py index 9274160b8..e54dc8b3a 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(): -- 2.39.2