cgi integration question 2

Ken ken at hotmail.com
Mon Oct 21 05:15:00 EDT 2002


"Gerhard Häring" <gerhard.haering at gmx.de> wrote in message
news:mailman.1035154105.10088.python-list at python.org...
> * Ken <ken at hotmail.com> [2002-10-21 08:02 +1000]:
> > Hi, there isn't such module call cgitb
> > Traceback (most recent call last):
> >   File "chessboard.cgi", line 7, in ?
> >     import os, cgi, cgitb
> > ImportError: No module named cgitb
>
> cgitb is available in Python 2.2 and later.
>
> > The python code is here:
> > http://www.ug.cs.usyd.edu.au/~keho/comp3204/chessboard.txt and
> > http://www.ug.cs.usyd.edu.au/~keho/comp3204/chessboard.cgi
> >
> > The C++ test code is here:
> > http://www.ug.cs.usyd.edu.au/~keho/comp3204/test02.cc
>
> Works fine for me if I install it all locally. It prints this:
>
> lines: ['12\n', '13\n', '33\n', '31\n', '32\n', '22\n', '21\n', '23\n',
'11\n']
> Content-type: text/html results: ['12\n', '13\n', '33\n', '31\n', '32\n',
'22\n', '21\n', '23\n', '11\
> n']
>                                +-----------------+
>                                |  2  |  8  |  3  |
>                              3 |-----+-----+-----|
>                              2 |  1  |  6  |  5  |
>                              1 |-----+-----+-----|
>                                |  9  |  7  |  4  |
>                                +-----------------+
>                                  A     B     C
>
> You might want to fix the print statements so you get something like:
>
>     Content-type: text/html
>
>     <html>
>     [...]
>
> Note the empty line between the HTTP headers (here only one line, the
> Content-type line) and the HTTP body.
>
> > What did I do wrong to constantly get that broken pipe error?
> > Traceback (most recent call last): File
> > "/usr/cs3/keho/lib/html/comp3204/chessboard.cgi", line 143, in ?
> > outf.close() IOError: [Errno 32] Broken pipe
>
> Most probably a permission problem of some sort. I'd copy the C++
> executable in the same directory as the Python script, but still use the
> full path in os.popen2 or use "./knight" as a relative path. Also check
> the permissions are ok (i. e. the user that runs the cgi scripts can
> execute the C++ executable).
>
> -- Gerhard
>

Hi,

chesslib.printMainHeader("Chessboard") does the content printout, which
calls:

def printMainHeader(title):
  #Print the status header of the menu screen
  print "Content-type: text/html"
  print ""
  print '<HTML>'
  print '<title>', title, '</title>'
  print '<head><BODY bgcolor="#FFFFFF" text="#000000" link="#000011"
alink="#000011" vlink="#000011"></body></head>'

I am still getting the stupid broken pipe error, even after I chmod777 to
all my files, including the c++ executable. : (

The executable is in the same folder as the python script. The path calling
"knight" is the absolute path from my uni's account. Unfortunately, I can't
install python 2.2 on uni's server..... :(

So......anyone know how I can solve this stupid broken pipe error?
  outf, inf = os.popen2("/n/grey/u6/cs3/keho/lib/html/comp3204/knight")
  print >>outf, size
  print >>outf, startX
  print >>outf, startY
  outf.close()  #<< ==== Broken Pipe error on this line
  lines = inf.readlines() #Output produce by back end program ["34", "35",
...etc]

Works fine on telnet, works fine on cygwin, just give me a headache on the
web. : (

Traceback (most recent call last): File
"/usr/cs3/keho/lib/html/comp3204/chessboard.cgi", line 143, in ?
outf.close() IOError: [Errno 32] Broken pipe

Thanks in advance









More information about the Python-list mailing list