io.py (687B)
1 # standard imports 2 import os 3 import logging 4 5 logg = logging.getLogger(__name__) 6 7 8 class Outputter: 9 10 def __init__(self, outdir, prepend_hash=False): 11 self.outdir = outdir 12 self.prepend_hash = prepend_hash 13 os.makedirs(self.outdir, exist_ok=True) 14 logg.info('outputter set to {}'.format(self.outdir)) 15 16 17 def dump(self, hsh, data): 18 hsh_hex = hsh.hex() 19 fp = os.path.join(self.outdir, hsh_hex) 20 f = open(fp, 'wb') 21 22 l = len(data) 23 if self.prepend_hash: 24 l += len(hsh) 25 f.write(hsh) 26 f.write(data) 27 f.close() 28 29 logg.debug('wrote {} bytes for chunk file {}'.format(l, hsh_hex))