[Tutor] Python and Apache (OT)
Roger Merchberger
zmerch@30below.com
Mon Apr 28 00:47:02 2003
At 21:05 04/25/2003 -0700, you wrote:
>On 25/4/2003, Isaac Hall wrote:
>
> >he states something to the effect that he thinks
> >python is not very widely used for cgi scripting, however it is my
> >understanding that python works very well for cgi scripting, and is
> >widely used for that purpose.
>
>As a python beginner who wants to do some cgi things, I have to agree
>with the author on this point. Perhaps python is widely used for cgi,
>but if so, those programmers aren't sharing their work. I'm not
>talking about frameworks here, I have no desire for frameworks, just
>simple everyday cgis. Last month I went out looking for examples to
>study, and while I could easily find thousands of cgis written in perl,
>the available python cgis were in the tens. Not even the hundreds.
>Many of those were years old, and badly needed fixing and/or
>modernization. I realize that most of the thousands of perl cgis are
>garbage (buggy, no security, etc), and many of the rest are near clones
>of each other, but for any type of web task (form manager, log
>analysis, chat room, database, search engine, etc) there seem to be at
>least three or four excellent ones to choose from. Python has a long
>way to go to fill in those gaps.
At least as far as I can tell, tho, Python as a CGI scripting engine isn't
as versatile as Perl.
Now, lemme quantify that: I set up mod_python per the instructions, and
from everything that I've learned as a beginner at Python & a fairly
knowledgeable Linux geek & web admin, Apache's configuration of mod_python
only sets a single named script as a viable python CGI program, or if there
is a way of having multiple python CGI scripts in one config, there's /no/
documentation as to how to set that up.
If you tell Apache that you want script.py as your CGI, that's all you get.
If you can tell Apache that *.py should all be run, Google can't find it,
and every "wildcard" permutation I've tried in my httpd.conf file resulted
in Apache barfing & refusing to start.
What do I do when I want a guestbook.py, a forsale.py & wantlist.py?
Usually code it in Perl or ColdFusion.
Oh, and WRT your mention of lack of security in a lot of perl CGIs out
there -- I do agree, but setting up a wildcard *.cgi to run from a non-CGI
directory is a big security hole in itself, so that's why I wanted another
option.
>By the way, I'm constantly amused by anyone not liking indentation and
>lack of braces on first sight. It was largely that that made me want
>to drop my tussling with perl for python about 30 seconds after
>accidentally running into some python source. It was only afterwards
>that I found the even better goodies, such as decent list manipulation.
To each his own. I'm constantly amused by people who are amazed that not
everyone fits into their worldview. I personally much prefer /stated/ loop
boundries (while/wend; if/else/endif; for/next) but braces aren't a problem
either -- and I'll be the first to admit that the indentation is less
difficult than I'd thought to become accustomed to (well, once I reconfiged
my editor to quit converting spaces to tabs...)
I can honestly say that it took me no less time to start hacking usable
proggies in Perl than it did in Python. Admittedly, I had better
documentation for Perl, so that's a testament to Python, but I've also got
8 more years of experience under my belt, and hacking an unknown language
in many ways has gotten easier... Flip a coin...
=-=-=-=
I'm not giving up on Python (as I have with PHP...) but personally, I don't
think that mod_python is quite ready for prime-time as a CGI scripting
mega-powerhouse. I honestly hope that this changes soon, and when it does,
I will switch! But until then, I just can't put Perl on the back burner...
Just my Python noobie $0.02,
Roger "Merch" Merchberger