Inheritance and delegation problem.
Quinet, Joel
joel.quinet at be.unisys.com
Thu Nov 21 16:56:32 EST 2002
Hi all,
I have an object using delegation to another one by replacing __getattr__
and __setattr__. It works fine. now, I have to do it a thread, I have
added the threading inheritance.
My problem is the threading.__init__ methode is NOT call apparently due to
__getattr__ and __setattr__ redefinition.
How can I do that ?
Thanks for help
Joel
class ConfigPyroServer(threading.Thread):
__instanceMarketsConfigParser = MarketsConfigParser()
def __init__(self, group=None, target=None, name=None, args=(),
kwargs=''):
threading.Thread.__init__(self, group=None, target=None, name=None,
args=(), kwargs='')
self.sortie = 0
self.cond = EIA.Common.pyroserver.ConditionCounter()
def run(self):
self.serverP = EIA.Common.pyroserver.PyroServer(
self.getPyroServerNameServerHostName(), ':' +
self.getPyroServerObjectGroupName() )
self.serverP.createGroup( ':' + self.getPyroServerObjectGroupName()
)
self.serverP.registerObjectPersistent(
PyroInterfaceMarketsConfigParser, 'Config')
while (self.sortie == 0):
self.serverP.requestLoop( cond = self.cond.cond )
print 'Looping'
print 'Stop looping'
self.serverP.disconnect()
self.serverP.shutdown()
def __getattr__(self, attr):
return getattr(self.__instanceMarketsConfigParser, attr)
def __setattr__(self, attr, value):
return setattr(self.__instanceMarketsConfigParser, attr, value)
def stop(self):
self.sortie = 1
More information about the Python-list
mailing list