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
|