docs: def _main():
      """Command line interface to the module.
  
      """
      from argparse import ArgumentParser, FileType
      from gutenberg import Error
      from gutenberg._util.os import reopen_encoded
  
      parser = ArgumentParser(description='Download a Project Gutenberg text')
      parser.add_argument('etextno', type=int)
      parser.add_argument('outfile', type=FileType('w'))
      parser.add_argument('--mirror', '-m', type=str, default=None)
      parser.add_argument('--prefer-ascii', '-a', type=bool, default=False)
      args = parser.parse_args()
  
      try:
          text = load_etext(args.etextno,
                            mirror=args.mirror,
                            prefer_ascii=args.prefer_ascii)
          with reopen_encoded(args.outfile, 'w', 'utf8') as outfile:
              outfile.write(text)
      except Error as error:
          parser.error(str(error))