new_contents: #!/usr/bin/env python
  #-*- coding: utf8 -*-
  """
      bin2c
      ~~~~~
  
      Simple tool for creating C array from a binary file.
  
      :copyright: (c) 2016 by Dmitry Alimov.
      :license: The MIT License (MIT), see LICENSE for more details.
  """
  
  import argparse
  import os
  import re
  
  
  def bin2c(filename, varname='data', linesize=80, indent=4):
      """ Read binary data from file and return as a C array
  
      :param filename: a filename of a file to read.
      :param varname: a C array variable name.
      :param linesize: a size of a line (min value is 40).
      :param indent: an indent (number of spaces) that prepend each line.
      """
      if not os.path.isfile(filename):
          print('File "%s" is not found!' % filename)
          return ''
      if not re.match('[a-zA-Z_][a-zA-Z0-9_]*', varname):
          print('Invalid variable name "%s"' % varname)
          return
      with open(filename, 'rb') as in_file:
          data = in_file.read()
      # limit the line length
      if linesize < 40:
          linesize = 40
      byte_len = 6  # '0x00, '
      out = 'const char %s[%d] = {\n' % (varname, len(data))
      line = ''
      for byte in data:
          line += '0x%02x, ' % ord(byte)
          if len(line) + indent + byte_len >= linesize:
              out += ' ' * indent + line + '\n'
              line = ''
      # add the last line
      if len(line) + indent + byte_len < linesize:
          out += ' ' * indent + line + '\n'
      # strip the last comma
      out = out.rstrip(', \n') + '\n'
      out += '};'
      return out
  
  
  def main():
      """ Main func """
      parser = argparse.ArgumentParser()
      parser.add_argument(
          'filename', help='filename to convert to C array')
      parser.add_argument(
          'varname', nargs='?', help='variable name', default='data')
      parser.add_argument(
          'linesize', nargs='?', help='line length', default=80, type=int)
      parser.add_argument(
          'indent', nargs='?', help='indent size', default=4, type=int)
      args = parser.parse_args()
      # print out the data
      print(bin2c(args.filename, args.varname, args.linesize, args.indent))
  
  
  if __name__ == '__main__':
      main()
  
subject: Create bin2c.py