Something Like os.environ['HTTP_REFERER']
Tim Chase
python.list at tim.thechases.com
Sun Dec 20 15:26:49 EST 2009
Victor Subervi wrote:
> On Sun, Dec 20, 2009 at 1:20 PM, Stephen Hansen <apt.shansen at gmail.com>wrote:
>>> Of course, I can pass the page name as a parameter, but that's not
>>> elegant.
>>>
>> That is precisely what it is in fact-- elegant; it is non-elegant to have
>> magical behavior where what 'imports' something somehow changes or
>> determines how that something behaves.
>>
>> It may be possible to go into dark places to discover what code first
>> imported a module, but its not possible to discover what code does
>> subsequent imports-- and in either case, this is /not/ something that has
>> any sort of elegance to it. Its deeply hackish.
>
> Inelegant. This will be elegant:
[snipped atrocious malformed code that won't compile, has
undocumented magic constants, and is fragilely dependent on a
certain directory/naming convention]
For your claims to be a right-brained artistic type, your
evidenced sense of aesthetic leans towards the baroquen. Trust
the list's suggestions -- your proposed code is NOT elegant.
This is reinforced on multiple fronts: Stephen and MRAB have
already commented this is an inelegant idea (and Chris hinted
that it's undesirable) and I share their opinion; additionally,
the fact that Python doesn't make this easy suggests that it's
not the preferred way to do things. Yes, one can sniff stacks,
check the system module cache before and after an import, or do
other crazy black magic, but for your described use-case, proper
architecture can be both elegant and simple as Stephen suggests.
-tkc
More information about the Python-list
mailing list