diff options
Diffstat (limited to 'FuseArchive/ChunkBuffer.py')
-rw-r--r-- | FuseArchive/ChunkBuffer.py | 38 |
1 files changed, 4 insertions, 34 deletions
diff --git a/FuseArchive/ChunkBuffer.py b/FuseArchive/ChunkBuffer.py index 575f5aa..134ce30 100644 --- a/FuseArchive/ChunkBuffer.py +++ b/FuseArchive/ChunkBuffer.py @@ -1,37 +1,7 @@ -import logging +from ChunkBufferMem import ChunkBufferMem +from ChunkBufferFile import ChunkBufferFile # Handle efficient operations on a non-fixed length buffer like appending, # replacing, reading chunks, etc -class ChunkBuffer: - def __init__( self, data = '' ): - logging.debug( "Creating chunkbuffer: %s" % data ) - self.l = len( data ) - self.chunk = [ data ] - - def append( self, s ): - self.l += len( s ) - self.chunk.append( s ) - - # Note: replace doesn't effect length so we don't update it - def replace( self, buf, start, end ): - # We make a string of our chunk, then create a new list of the 3 - # strings, the start, new chunk, and remaining chunk - s = ''.join( self.chunk ) - l = end - start - self.chunk = [ s[ :start ], buf[ :l ], s[ end: ] ] - - def length( self ): - return self.l - - def truncate( self, l ): - s = ''.join( self.chunk ) - self.l = l - self.chunk = [ s[ :l ] ] - - def _simplify( self ): - logging.debug( "Simplify!" ) - self.chunk = [ ''.join( self.chunk ) ] - - def string(self): - logging.debug( "Stringifying: %s" % self.chunk ) - return ''.join( self.chunk ) +class ChunkBuffer(ChunkBufferMem): + pass |