i\'m refactoring code in order to add object orientation and am just testing the code.
pattern = r\"((([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])[ (\\[]?(\\.|dot)
You are giving self.getip() four arguments because Python automatically adds in first self argument for bound methods. The expression:
self.getip(self, pattern, line)
results in:
getip(self, self, pattern, line)
which is four arguments.
Don't pass in self again:
self.ip = self.getip(pattern, line)
The very act of looking up the method on the instance (via self.getip) binds the method to handle that first argument for you.
When calling an instance method, you don't pass the instance explicitly
ie.
self.ip = self.getip(pattern, line)