[jToolkit-cvs] jToolkit/widgets chart.py,1.21,1.22
Brought to you by:
davidfraser,
friedelwolff
From: <dav...@us...> - 2004-02-10 09:26:05
|
Update of /cvsroot/jtoolkit/jToolkit/widgets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28915 Modified Files: chart.py Log Message: Removed old lock. Added exception handling with error output. Improved the method of retrieving an image Index: chart.py =================================================================== RCS file: /cvsroot/jtoolkit/jToolkit/widgets/chart.py,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** chart.py 10 Feb 2004 09:22:20 -0000 1.21 --- chart.py 10 Feb 2004 09:22:51 -0000 1.22 *************** *** 7,15 **** from jToolkit.widgets import widgets from jToolkit.data import dates ! #We need this lock for gdchart, as it's not thread-safe ! from threading import Lock ! gdchartLock = Lock() #Graph type constants --- 7,15 ---- from jToolkit.widgets import widgets from jToolkit.data import dates ! import random, os #We need this lock for gdchart, as it's not thread-safe ! #from threading import Lock ! #gdchartLock = Lock() #Graph type constants *************** *** 55,77 **** #Save temporary file # tempfilename = os.path.join(tempfile.gettempdir(),'temp.png') ! tempfilename = 'temp.png' ! self.figure.figure.print_figure(tempfilename,self.dpi) ! #Read and report ! f = open(tempfilename,'rb') ! img = f.read() ! f.close() return img def gethtml(self): ! gdchartLock.acquire() try: self.drawimage() img = self.getimagefromtempfile() except: ! print "Unexpected Error:",sys.exc_info()[2] ! gdchartLock.release() return None ! gdchartLock.release() return img --- 55,86 ---- #Save temporary file # tempfilename = os.path.join(tempfile.gettempdir(),'temp.png') ! retrieved = 0 ! while not retrieved: ! try: ! tempfilename = str(random.randint(100000,999999)) + '.png' ! self.figure.figure.print_figure(tempfilename,self.dpi) ! #Read and report ! f = open(tempfilename,'rb') ! img = f.read() ! f.close() ! retrieved = 1 ! os.remove(tempfilename) ! except: ! (etype, evalue, trace) = sys.exc_info() ! print "Temp file error:",etype,evalue return img def gethtml(self): ! # gdchartLock.acquire() try: self.drawimage() img = self.getimagefromtempfile() except: ! (etype, evalue, trace) = sys.exc_info() ! print "Unexpected Error:",etype,evalue ! # gdchartLock.release() return None ! # gdchartLock.release() return img |