Revision: 7087
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7087&view=rev
Author:   efiring
Date:     2009-05-06 20:52:55 +0000 (Wed, 06 May 2009)

Log Message:
-----------
Give a more descriptive name (multiprocess.py) to new example

Added Paths:
-----------
    trunk/matplotlib/examples/misc/multiprocess.py

Removed Paths:
-------------
    trunk/matplotlib/examples/misc/log.py

Deleted: trunk/matplotlib/examples/misc/log.py
===================================================================
--- trunk/matplotlib/examples/misc/log.py       2009-05-06 18:13:41 UTC (rev 
7086)
+++ trunk/matplotlib/examples/misc/log.py       2009-05-06 20:52:55 UTC (rev 
7087)
@@ -1,87 +0,0 @@
-#Demo of using multiprocessing for generating data in one process and plotting
-#in another.
-#Written by Robert Cimrman
-#Requires >= Python 2.6 for the multiprocessing module or having the
-#standalone processing module installed
-import time
-try:
-    from multiprocessing import Process, Pipe
-except ImportError:
-    from processing import Process, Pipe
-from Queue import Empty
-import numpy as np
-import pylab
-import gobject
-
-class ProcessPlotter(object):
-
-    def __init__(self):
-        self.x = []
-        self.y = []
-
-    def terminate(self):
-        pylab.close('all')
-
-    def poll_draw(self):
-
-        def call_back():
-            while 1:
-                if not self.pipe.poll():
-                    break
-
-                command = self.pipe.recv()
-
-                if command is None:
-                    self.terminate()
-                    return False
-
-                else:
-                    self.x.append(command[0])
-                    self.y.append(command[1])
-                    self.ax.plot(self.x, self.y, 'ro')
-
-            self.fig.canvas.draw()
-            return True
-
-        return call_back
-
-    def __call__(self, pipe):
-        print 'starting plotter...'
-
-        self.pipe = pipe
-        self.fig = pylab.figure()
-
-        self.ax = self.fig.add_subplot(111)
-        self.gid = gobject.timeout_add(1000, self.poll_draw())
-
-        print '...done'
-        pylab.show()
-
-
-class NBPlot(object):
-    def __init__(self):
-        self.plot_pipe, plotter_pipe = Pipe()
-        self.plotter = ProcessPlotter()
-        self.plot_process = Process(target = self.plotter,
-                                    args = (plotter_pipe,))
-        self.plot_process.daemon = True
-        self.plot_process.start()
-
-    def plot(self, finished=False):
-        send = self.plot_pipe.send
-        if finished:
-            send(None)
-        else:
-            data = np.random.random(2)
-            send(data)
-
-def main():
-    pl = NBPlot()
-    for ii in xrange(10):
-        pl.plot()
-        time.sleep(0.5)
-    raw_input('press Enter...')
-    pl.plot(finished=True)
-
-if __name__ == '__main__':
-    main()

Copied: trunk/matplotlib/examples/misc/multiprocess.py (from rev 7086, 
trunk/matplotlib/examples/misc/log.py)
===================================================================
--- trunk/matplotlib/examples/misc/multiprocess.py                              
(rev 0)
+++ trunk/matplotlib/examples/misc/multiprocess.py      2009-05-06 20:52:55 UTC 
(rev 7087)
@@ -0,0 +1,87 @@
+#Demo of using multiprocessing for generating data in one process and plotting
+#in another.
+#Written by Robert Cimrman
+#Requires >= Python 2.6 for the multiprocessing module or having the
+#standalone processing module installed
+import time
+try:
+    from multiprocessing import Process, Pipe
+except ImportError:
+    from processing import Process, Pipe
+from Queue import Empty
+import numpy as np
+import pylab
+import gobject
+
+class ProcessPlotter(object):
+
+    def __init__(self):
+        self.x = []
+        self.y = []
+
+    def terminate(self):
+        pylab.close('all')
+
+    def poll_draw(self):
+
+        def call_back():
+            while 1:
+                if not self.pipe.poll():
+                    break
+
+                command = self.pipe.recv()
+
+                if command is None:
+                    self.terminate()
+                    return False
+
+                else:
+                    self.x.append(command[0])
+                    self.y.append(command[1])
+                    self.ax.plot(self.x, self.y, 'ro')
+
+            self.fig.canvas.draw()
+            return True
+
+        return call_back
+
+    def __call__(self, pipe):
+        print 'starting plotter...'
+
+        self.pipe = pipe
+        self.fig = pylab.figure()
+
+        self.ax = self.fig.add_subplot(111)
+        self.gid = gobject.timeout_add(1000, self.poll_draw())
+
+        print '...done'
+        pylab.show()
+
+
+class NBPlot(object):
+    def __init__(self):
+        self.plot_pipe, plotter_pipe = Pipe()
+        self.plotter = ProcessPlotter()
+        self.plot_process = Process(target = self.plotter,
+                                    args = (plotter_pipe,))
+        self.plot_process.daemon = True
+        self.plot_process.start()
+
+    def plot(self, finished=False):
+        send = self.plot_pipe.send
+        if finished:
+            send(None)
+        else:
+            data = np.random.random(2)
+            send(data)
+
+def main():
+    pl = NBPlot()
+    for ii in xrange(10):
+        pl.plot()
+        time.sleep(0.5)
+    raw_input('press Enter...')
+    pl.plot(finished=True)
+
+if __name__ == '__main__':
+    main()


Property changes on: trunk/matplotlib/examples/misc/multiprocess.py
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/v0_91_maint/examples/misc/log.py:5753-5771
/branches/v0_98_5_maint/examples/misc/log.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to