'Write `data` to `filename` (if not a dry run) after announcing it
`what` is used in a log message to identify what is being written
to the file.'

def write_file(self, what, filename, data):

    log.info('writing    %s    to    %s', what, filename)
    if (sys.version_info >= (3,)):
        data = data.encode('utf-8')
    if (not self.dry_run):
        f = open(filename, 'wb')
        f.write(data)
        f.close()
