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
|