[Zope] ChartDirector and Zope

Jonathan Hobbs toolkit at magma.ca
Sat Feb 12 08:06:26 EST 2005


----- Original Message -----
From: <hpinson at indepthl.com>
> Has anyone gotten the (excellent) ChartDirector charting library to
> work with zope?
>
> Here's what I have tried:
>
> 1. Created an ExternalMethod named barchart.py, in the Extensions
> folder:
>   #output the chart
>   print "Content-type: image/png\n"
>   binaryPrint(c.makeChart2(PNG))


Where is 'binaryPrint' printing to (a file?  stdio?)?  I am not familiar
with ChartDirector, but with PIL we have to trick it to write to a 'ram
file' and then return that, here are the relevant extracts from an external
method that uses PIL:

<snip>
class RamFile:
                def __init__(self):
                        self.contents = []

                def write(self,s):
                        self.contents.append(s)

                def read(self):
                        return string.join(self.contents,'')
</snip>

<snip>
canvas.drawString("S", 7,263, Font(face="times",size=14,bold=1),
color=black, angle=0)
canvas.flush()
rfile = RamFile()
canvas.save(file=rfile,format="jpeg")
return rfile.read()
</snip>


HTH

Jonathan




More information about the Zope mailing list