code: def main():
      parser = argparse.ArgumentParser()
      parser.add_argument(
          "infile", type=str, help="Path to the input file"
      )
      parser.add_argument(
          "-o", "--outfile", type=str, help="Path to the output file"
      )
      parser.add_argument(
          "-i",
          "--ignore",
          type=str,
          help="An ignored input - may be useful to add a "
          "dependency between custom targets",
      )
      args = parser.parse_args()
  
      if not args.infile.endswith(".src"):
          raise ValueError(f"Unexpected extension: {args.infile}")
  
      outfile_abs = os.path.join(os.getcwd(), args.outfile)
      process_and_write_file(args.infile, outfile_abs)
  
imports: import sys
  import os
  import argparse
  import importlib.util
label_desc: Use image node_id 3 for calling a global function with example usage: main() without return types