app.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:pypaperbak 作者: matheusd 项目源码 文件源码
def run_backup(self, args):
        """Run the backup operation."""                

        chunksize = args.chunksize
        encodefunc = base64.b85encode #FIXME: add arg        

        infile = open(args.infile, "rb")
        infile_size = os.path.getsize(infile.name)

        outfile = args.outfile        
        inputhash = hashlib.sha256() 
        framedata = self.frame_data_func(args)

        qr_count = infile_size / chunksize + 1
        self.logger.info('Original file size: %dKiB', infile_size / 1024)
        self.logger.info('Total number of QR codes: %d', qr_count)        

        exporter = self.setup_exporter(args, qr_count)

        qr_number = 0
        sizesofar = 0
        while True:
            bindata = infile.read(chunksize)
            if not bindata: break
            frame = framedata(bindata, qr_count, sizesofar)
            inputhash.update(bindata)
            sizesofar += len(bindata)

            qr_number += 1
            self.logger.info('Exporting QR %d of %d', qr_number, qr_count)

            encdata = encodefunc(frame).decode()            
            qr = pyqrcode.create(encdata)
            exporter.add_qr(qr)

        exporter.finish(inputhash)
        self.logger.info('Finished exporting')
        if args.sha256: 
            print('SHA-256 of input: %s' % inputhash.hexdigest())
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号