I took that he was on a Mac or other system which allows this, and is
actually trying to run the command:

  open Patient_info.pdf

to open the file he created. He says as much in saying Acroread doesn't open it.

Ignoring the fact that paths are wrong, trying to open a GUI app from
Apache generally never works as it doesn't have necessary information
about display or privileges to display.

Graham

On 6 October 2011 19:11, mrkiwi <[email protected]> wrote:
> Graham - i think his code will be attempting to create the file
> open\ Patient_info.pdf
> in the current working directory, and therefore as root it may work
> without error?
> ???
>
> MrKiwi
>
> On Oct 6, 8:55 pm, Graham Dumpleton <[email protected]>
> wrote:
>> There are couple of problems at least with what you are trying to do.
>>
>> First, you can't use relative paths to files. The current working
>> directory of the process will not be where your source code is.
>>
>> Second, the line:
>>
>>   os.open("open Patient_info.pdf")
>>
>> isn't going to work because os.open() takes a file name not a command
>> and also requires a second argument even when opening a file.
>>
>> So, you should be getting errors. That you are not suggests you
>> haven't even set up mod_wsgi write to run this WSGI application. It
>> could even be because you don't even have an application object in the
>> code, although I'll give you the benefit of the doubt there and
>> presume this is only a snipper from larger code base. If it is because
>> of the latter, you will see errors in the Apache error log.
>>
>> Suggest you go back to basics and get a WSGI hello world program
>> running and as has been suggested before, don't do stuff from scratch,
>> use a framework such as Flask.
>>
>> Graham
>>
>> On 6 October 2011 18:28, nitin chandra <[email protected]> wrote:
>>
>>
>>
>>
>>
>>
>>
>> > Hi  All,
>>
>> > I am looking to generate a PDF page from the data submitted in a web form.
>>
>> > For this I am using REportLab.
>>
>> > from reportlab.lib.pagesizes import letter
>> > from reportlab.pdfgen import canvas
>>
>> > class Handler:
>> >     def do(self, environ, start_response):
>> >         form = cgi.FieldStorage(fp=environ['wsgi.input'],
>> >                                 environ=environ)
>>
>> >         html = """
>> >                  <meta http-equiv="refresh"
>> > content="0;url=https://www.mywebsite.in/home.py"; /> """
>>
>> >         printpdf = form.getvalue('print') ## This is a checkbox in
>> > html { If checked then create the PDF file}
>> >         if printpdf == 1:
>> >               c = canvas.Canvas('Patient_info.pdf', pagesize=letter)
>> >               c.setFont('Helvetica', 12)
>> >               c.drawString(30,750, ptbn)
>> >               c.showPage()
>> >               c.save()
>> >               os.open("open Patient_info.pdf")
>>
>> >         output = html
>> >         mimeType = "text/html"
>>
>> >         status = "200 OK"
>> >         response_headers = [("Content-type", mimeType),
>> >                            ("Content-length", str(len(output)))]
>>
>> >         start_response(status, response_headers)
>> >         return [output]
>>
>> > If i enter the code in python prompt, from c = canvas .... , a PDF
>> > file is created and saved in the current working directory.
>>
>> > But not when I am doing it from a webpage.py file. There is no error,
>> > the PDF web page / Acroread does not open / launch the page.
>>
>> > Do I need to add / change some thing, if wsgi requires it, in the
>> > above code to generate the PDF file ? If yes, then how should the line
>> > be written?
>>
>> > Thank you
>>
>> > Nitin
>>
>> > --
>> > You received this message because you are subscribed to the Google Groups 
>> > "modwsgi" group.
>> > To post to this group, send email to [email protected].
>> > To unsubscribe from this group, send email to 
>> > [email protected].
>> > For more options, visit this group 
>> > athttp://groups.google.com/group/modwsgi?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "modwsgi" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/modwsgi?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to