def __init__(self, stream, offset=0, size=None): """ Setup search tool, parameter: - filename: Input filename in locale charset - directory: Directory filename in locale charset where output files will be written - offset: Offset (in bytes) of the beginning of the search - size: Limit size (in bytes) of input file (None: no limit) - debug: Debug mode flag (display debug information) """ # Size self.stream = stream if size is not None: self.size = min(self.stream.size, (offset + size) * 8) else: self.size = self.stream.size # Offset self.start_offset = offset * 8 self.current_offset = self.start_offset self.slice_size = SLICE_SIZE * 8 # 64 KB (in bits) # Statistics self.datarate = DataRate(self.start_offset) self.main_start = time() # Other flags and attributes self.patterns = None self.verbose = True self.debug = False self.output = None self.filter = None