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

Reply via email to