A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2002-November/029945.html below:

[Python-Dev] metaclass insanity

[Python-Dev] metaclass insanityWalter Dörwald walter@livinglogic.de
Wed, 06 Nov 2002 11:48:59 +0100
Guido van Rossum wrote:
>> > Can someone provide a reason why you'd want to use nested classes?
>> > I've never felt this need myself.  What are the motivations?
>>
>>XIST (http://www.livinglogic.de/Python/xist/) uses nested classes
>>to map XML element types and their attributes to Python classes.
>>For example the HTML element type img looks like this in XIST:
>>
>>class img(Element):
>>    class Attrs(Element.Attrs):
>>       class src(URLAttr): required = True
>>       class alt(TextAttr): required = True
>>       class align(TextAttr): values = ("top", "middle", ...)
> 
> 
> That's cool.

But the __name__ problem becomes apparent for error handling.

Checking whether required attributes are specified is the
job of the nested Attrs class. The error message should include
the name of the affected element, but this name is not available
in the inner class (but see my workaround in the posting with
the __outerclass__/__fullname__ example.)

Bye,
    Walter Dörwald




RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4