[mod_python] Mod_python Charts

Jim Gallacher jg.lists at sympatico.ca
Fri Oct 14 18:32:22 EDT 2005


Graham Dumpleton wrote:
> 
> On 14/10/2005, at 10:13 PM, <python_it at hotmail.com> wrote:
> 
>> Did somebody has experience with CharDirector and Mod_python  
>> (Publisher).
>> (Python 2.4 / ChartDirector for Python / Modpython 3.2.2b)
>> I can’t make chart with this combination? (I don’t get errors?)
>> Publisher is working ok with other scripts.
>>
>> I use the following script files:
>>
>> Index.htm => index.py => chart.tmpl
>>
>> Index.htm
>> =================
>> Link to index.py
>>
>>
>> Index.py
>> =================
>> from mod_python import psp,util
>>
>> def index(req, perc=[10 , 10 , 80], descrip=['10', '10' ,'80'],  
>> title="chart", filename="chart.png"):
>>     req.content_type = ‘text/html’
>>     tmpl = psp.PSP(req, filename='templates/chart.tmpl', vars= {'req': 
>> req, 'psp': psp, 'perc': perc, 'descrip': descrip, 'title':  title, 
>> 'filename': filename})
>>     tmpl.run()
> 
> 
> For the filename argument you are using a relative pathname. This will
> not work as Apache often runs with cwd as '/' or some other directory.
> It will not be the directory the script file is in and changing cwd  should
> not be done. Instead use:
> 
>   import os
>   __here__ = os.path.dirname(__file__)
> 
>   from mod_python import psp,util
> 
>   def index(req, perc=[10 , 10 , 80], descrip=['10', '10' ,'80'],  
> title="chart", filename="chart.png"):
>       req.content_type = ‘text/html’
>       filename = os.path.join(__here__,'templates/chart.tmpl')
>       tmpl = psp.PSP(req, filename=filename vars={'req': req, 'psp':  
> psp, 'perc': perc,'descrip': descrip, 'title': title, 'filename':  
> filename})
>       tmpl.run()
> 

Furthermore, ChartDirector does not seem to raise an exception if it 
can't create the file. Testing on linux using the original code, the 
file was not created (no write permission on '/' for the www-data 
process) and no exception was raised. This certainly goes against my 
expectations.

Jim



More information about the Mod_python mailing list