parameters: ()
docstring: The main function of the script
docstring_summary: The main function of the script
docstring_tokens: The main function of the script
function: def main():
      """The main function of the script"""
      desc = 'Generate files to benchmark'
      parser = argparse.ArgumentParser(description=desc)
      parser.add_argument(
          '--src',
          dest='src_dir',
          default='src',
          help='The directory containing the templates'
      )
      parser.add_argument(
          '--out',
          dest='out_dir',
          default='generated',
          help='The output directory'
      )
      parser.add_argument(
          '--seed',
          dest='seed',
          default='13',
          help='The random seed (to ensure consistent regeneration)'
      )
  
      args = parser.parse_args()
  
      random.seed(int(args.seed))
  
      mkdir_p(args.out_dir)
  
      for template in templates_in(args.src_dir):
          modes = template.modes()
  
          n_range = template.range()
          for n_value in n_range:
              base = template.instantiate(n_value)
              for mode in modes:
                  write_file(
                      os.path.join(
                          args.out_dir,
                          out_filename(template, n_value, mode)
                      ),
                      mode.convert_from(base)
                  )
          write_file(
              os.path.join(args.out_dir, '{0}.json'.format(template.name)),
              json.dumps({
                  'files': {
                      n: {
                          m.identifier: out_filename(template, n, m)
                          for m in modes
                      } for n in n_range
                  },
                  'name': template.name,
                  'x_axis_label': template.property('x_axis_label'),
                  'desc': template.property('desc'),
                  'modes': {m.identifier: m.description() for m in modes}
              })
          )
function_tokens: def main ( ) : desc = 'Generate files to benchmark' parser = argparse . ArgumentParser ( description = desc ) parser . add_argument ( '--src' , dest = 'src_dir' , default = 'src' , help = 'The directory containing the templates' ) parser . add_argument ( '--out' , dest = 'out_dir' , default = 'generated' , help = 'The output directory' ) parser . add_argument ( '--seed' , dest = 'seed' , default = '13' , help = 'The random seed (to ensure consistent regeneration)' ) args = parser . parse_args ( ) random . seed ( int ( args . seed ) ) mkdir_p ( args . out_dir ) for template in templates_in ( args . src_dir ) : modes = template . modes ( ) n_range = template . range ( ) for n_value in n_range : base = template . instantiate ( n_value ) for mode in modes : write_file ( os . path . join ( args . out_dir , out_filename ( template , n_value , mode ) ) , mode . convert_from ( base ) ) write_file ( os . path . join ( args . out_dir , '{0}.json' . format ( template . name ) ) , json . dumps ( { 'files' : { n : { m . identifier : out_filename ( template , n , m ) for m in modes } for n in n_range } , 'name' : template . name , 'x_axis_label' : template . property ( 'x_axis_label' ) , 'desc' : template . property ( 'desc' ) , 'modes' : { m . identifier : m . description ( ) for m in modes } } ) )