Partial Function Application and implicit self problem

Gabriel Rossetti gabriel.rossetti at mydeskfriend.com
Thu Mar 27 04:20:05 EDT 2008


Hello,

I am using Partial Function Application in a class and I've come up with 
a problem, when the method is called it tries to pass "self" to the 
curried/partial function, but this should be the first argument in 
reality, but since the function is curried, then the self gets passed as 
the second argument. Here is the code :

def __registerService(self, atomic, service):
    def reg(service):
        # registers the service
        ...
       
    if(atomic):
        # Lock the service dict and register the service, then unlock it
        self.__mutex.lock(reg, service)
        self.__mutex.unlock()
    else:
        reg(service)
   
registerServiceAtomic = partial(__registerService, True)
registerServiceNonAtomic = partial(__registerService, False)

I should pass self when applying partial, but then I can't do that since 
self is not available there. Does anyone have any ideas?

Thanks,
Gabriel



More information about the Python-list mailing list