-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Fredrik Lundh wrote:
> so now you're no longer supporting mixins and multiple-level
> inheritance?  why not just tweak Diez' example a little:
> 
> for name in dir(plugin):
> 
>     thing = getattr(plugin, name)
> 
>     # make sure this is a plugin
>     try:
>        if thing is Plugin:
>            continue
>        if not issubclass(thing, Plugin):
>            continue
>     except ValueError: # issubclass sucks
>        continue # not a class
> 
>     thing() # probably needs error handling around this
> 
> (I also moved the thing call out of the thing validation part, to allow
> you to distinguish between ValueErrors caused by issubclass and errors
> caused by things)
> 
> (btw, another approach would be to use a metaclass to make Plugin
> classes register themselves on import)
> 
> </F>

Thanks, that works much better.  I've only been using python a couple of
months, so still getting to grips with how it treats classes/subclasses.

I'll have a look into metaclasses too, haven't stumbled upon those yet
at all.

Cheers,
Dave

- --
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                              )        <><
             <><              (
      Dave Challis            )
[EMAIL PROTECTED](___________________________________________
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIibiHv26GZvAVVFERAgcmAJ4tmC7jp6TTb3Dx2Lw+rKSmJkcSLQCfYFsA
e0ZLOf8lQXhqHcz/Me8ok0E=
=Qcg7
-----END PGP SIGNATURE-----
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to