From f32185adac068aeb6ebe9bb4240103a4fb29bbee Mon Sep 17 00:00:00 2001 From: Steve Slaven Date: Tue, 4 Aug 2009 14:31:25 -0700 Subject: Debugging utilities diff --git a/dump_chunk.py b/dump_chunk.py new file mode 100755 index 0000000..8212e62 --- /dev/null +++ b/dump_chunk.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python + +import FuseArchive.Chunk, sys, pickle, os + +# This prints some debug info about a chunk +f = FuseArchive.Chunk.Chunk.parse_header( open( sys.argv[ 1 ] ).read( + FuseArchive.Chunk.header_length ) ) +print f +os.system( "ls -l %s" % sys.argv[ 1 ] ) + +# Detail +if len( sys.argv ) == 3: + f = FuseArchive.Chunk.Chunk.deserialize( open( sys.argv[ 1 ] ).read() ) + pickle.dump( f, sys.stdout, 0 ) diff --git a/dump_chunkfile.py b/dump_chunkfile.py new file mode 100755 index 0000000..84fbfac --- /dev/null +++ b/dump_chunkfile.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python + +import FuseArchive.ChunkFile, sys, re, os + +# Run this in the storage area, basically 'cat' the file +file = re.sub( '^.*?tree', '', sys.argv[ 1 ] ) +sys.stderr.write( "Opening file: %s\n" % file ) + +f = FuseArchive.ChunkFile.ChunkFile( file, os.O_RDONLY, 0 ) + +sys.stderr.write( "File is: %d bytes\n" % f.size ) + +offset = 0 +blocksize = 4096 +while offset <= f.size: + data = f.read( blocksize, offset ) + sys.stdout.write( data ) + offset += blocksize -- cgit v0.10.2