http://www.mediawiki.org/wiki/Special:Code/MediaWiki/92210

Revision: 92210
Author:   halfak
Date:     2011-07-14 22:48:50 +0000 (Thu, 14 Jul 2011)
Log Message:
-----------
Added recording file wrapper

Modified Paths:
--------------
    trunk/tools/wsor/scripts/classes/file_wrapper.py

Modified: trunk/tools/wsor/scripts/classes/file_wrapper.py
===================================================================
--- trunk/tools/wsor/scripts/classes/file_wrapper.py    2011-07-14 22:40:27 UTC 
(rev 92209)
+++ trunk/tools/wsor/scripts/classes/file_wrapper.py    2011-07-14 22:48:50 UTC 
(rev 92210)
@@ -1,6 +1,30 @@
 import sys
 from StringIO import StringIO
+from collections import deque
 
+class RecordingFileWrapper(FileWrapper):
+       
+       def __init__(self, fp, pre='', post='', record=10000):
+               self.history = deque(maxsize=record)
+               FileWrapper.__init__(self, fp, pre=pre, post=post)
+       
+       def read(self, bytes=sys.maxint):
+               outBytes = FileWrapper.read(self, bytes)
+               self.history.extend(outBytes)
+               return outBytes
+       
+       def readline(self):
+               outBytes = FileWrapper.readline(self)
+               self.history.extend(outBytes)
+               return outBytes
+       
+       def getHistory(self):
+               return ''.join(self.history)
+       
+
+
+       
+
 class FileWrapper:
        
        def __init__(self, fp, pre='', post=''):


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to