[EMAIL PROTECTED] wrote: > On Apr 17, 10:54 am, [EMAIL PROTECTED] wrote: > >> On 17 avr, 17:40, [EMAIL PROTECTED] wrote: >> >> Out of sheer curiosity, why do you need thirty (hand-specified and >> dutifully commented) names to the same constant object if you know >> there will always be only one object? >> > > I'm building a web server. The many variables are names of header > fields. One part of the code looks like this (or at least I'd like it > to): > > class RequestHeadersManager: > > # General header fields > Cache_Control = \ > Connection = \ > Date = \ > Pragma = \ > Trailer = \ > Transfer_Encoding = \ > Upgrade = \ > Via = \ > Warning = \ > > # Request header fields > Accept = \ > Accept_Charset = \ > Accept_Encoding = \ > Accept_Language = \ > Authorization = \ > ... >
But. *What's the point* of doing it this way. I see 14 variables being assigned a value, but I don't see the value, they are getting. Reading this bit if code provides no useful information unless I'm willing to scan down the file until I find the end of this mess. And in that scanning I have to make sure I don't miss the one single line that does not end in a backslash. (Your ellipsis conveniently left out the *one* important line needed to understand what this code is doing, but even if you had included it, I'd have to scan *all* lines to understand what a single value is being assigned. There is *no way* you can argue that code is clearer than this: # General header fields Cache_Control = None Connection = None Date = None Pragma = None ... Gary Herron > Etc etc etc. At the end they'll all be assign to None. Then, when > initialized, __init__() will the the string of headers, parse them, > and use those variables shown above to assign to the header values. Of > course a normal request won't include all of those headers, so the > others will remain None. That's what I want. > -- http://mail.python.org/mailman/listinfo/python-list