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