On Mon, Jan 11, 2010 at 4:11 PM, Barry Warsaw <ba...@python.org> wrote: > As an example, the one library I've already ported used a metaclass. I don't > see any way to specify that the metaclass should be used in a portable way. > In Python 2.6 it's: > > class Foo: > __metaclass__ = Meta > > and in Python 3 it's: > > class Foo(metaclass=Meta): > > 2to3 made that pain go away.
Actually there's a solution to this one too: FooBase = Meta('FooBase', (), {}) class Foo(FooBase): ... That should work in Python 2.X and 3.X. I've got argparse running on Python 2.3-3.1, and the changes were pretty easy. You can see them all in the revision here: http://code.google.com/p/argparse/source/detail?r=12 I have aspirations of putting all of the tricks I learned up up on the Wiki somewhere, but I just haven't had the time. Steve -- Where did you get that preposterous hypothesis? Did Steve tell you that? --- The Hiphopopotamus _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com