In <[EMAIL PROTECTED]>, Maxim Veksler wrote: > Hello list, > > I'm trying to subclass socket and select, for both I get: > """ TypeError: Error when calling the metaclass bases > module.__init__() takes at most 2 arguments (3 given) """, I don't > understand this error. Why would python try to pass 3 arguments (what > are they) ? > > Googling for this error gave random results talking about try to > inherit a "Package" but socket is definitely a class, > (/usr/lib/python2.4/socket.py). Not sure about select thought. > > I've did the following to receive the error: > """ > In [1]: import socket > > In [2]: class PollingSocket(socket): > ...: pass > ...: > --------------------------------------------------------------------------- > exceptions.TypeError Traceback (most > recent call last) > > /home/hq4ever/<ipython console> > > TypeError: Error when calling the metaclass bases > module.__init__() takes at most 2 arguments (3 given) > """ > > > What am I breaking wrong?
You are trying to subclass a module here, just like the error message says. The module contains a `socket` type: In [3]: import socket In [4]: type(socket) Out[4]: <type 'module'> In [5]: type(socket.socket) Out[5]: <type 'type'> `select.select()` is a function: In [6]: import select In [7]: type(select.select) Out[7]: <type 'builtin_function_or_method'> Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list