Hi everyone,

I received an error when trying to invoke the instance version of 
enableMaintenance (below).


'TypeError: enableMaintenance() takes exactly 3 arguments (2 given)\n']


I looked at base.py and it has the following with regards to maintenance mode 
for hosts:


    def enableMaintenance(self, apiclient):

        """enables maintenance mode Host"""


        cmd = prepareHostForMaintenance.prepareHostForMaintenanceCmd()

        cmd.id = self.id

        return apiclient.prepareHostForMaintenance(cmd)


    @classmethod

    def enableMaintenance(cls, apiclient, id):

        """enables maintenance mode Host"""


        cmd = prepareHostForMaintenance.prepareHostForMaintenanceCmd()

        cmd.id = id

        return apiclient.prepareHostForMaintenance(cmd)


Now, I definitely have a lot more Java experience than Python, but - as far as 
I know - having two methods with the same name such as this (even if one is an 
instance method and the other is a class method) is not really "permitted" in 
Python.


I mean, technically it's permitted, but the second one will override the first 
one.


Can any of our Python people comment on this?


I was thinking I'd remove the class method (assuming my knowledge here 
regarding this topic is correct).


Thanks!

Mike



Reply via email to