pylibswarm

Python3 wrapper for libswarm-ng
git clone git://git.defalsify.org/pylibswarm.git
Log | Files | Refs | Submodules | README | LICENSE

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))