Can't set attribute?!

alex23 wuwei23 at
Wed Sep 2 04:54:10 CEST 2009

dolgion ch <dolgi... at> wrote:
> the NETRPCGateway attribute self.db can't be set? why not? i've tried
> changing the RPCSession login function
> to set the variable like this as well:
> self.gateway.db = db
> which doesn't work either, same exception.....
> any suggestions?

The problem is this line in your definition of RPCSession:

__slots__ = ['host', 'port', 'protocol', 'storage', 'gateway']

Slots are a way of creating more light weight objects; you cannot have
add any new attributes to an object defined with __slots__, as they
don't have a dictionary for attribute storage.

As for why you can't set them on NETRPCGateway, my suspicion is that
RPCGateway defines similar slots, although I don't have access to the
code... is it the OSE netsvc/netrpc libs that you're using?

More information about the Python-list mailing list