code: def main():
      parser = OptionParser()
      parser.set_usage(parser.get_usage().strip() + USAGE)
      parser.add_option(
          "--repo-name",
          dest="repo_name",
          help="repository name - e.g. nitime",
          metavar="REPO_NAME",
      )
      parser.add_option(
          "--github-user",
          dest="main_gh_user",
          help="github username for main repo - e.g fperez",
          metavar="MAIN_GH_USER",
      )
      parser.add_option(
          "--gitwash-url",
          dest="gitwash_url",
          help="URL to gitwash repository - default %s"
          % GITWASH_CENTRAL,
          default=GITWASH_CENTRAL,
          metavar="GITWASH_URL",
      )
      parser.add_option(
          "--gitwash-branch",
          dest="gitwash_branch",
          help="branch in gitwash repository - default %s"
          % GITWASH_BRANCH,
          default=GITWASH_BRANCH,
          metavar="GITWASH_BRANCH",
      )
      parser.add_option(
          "--source-suffix",
          dest="source_suffix",
          help="suffix of ReST source files - default '.rst'",
          default=".rst",
          metavar="SOURCE_SUFFIX",
      )
      parser.add_option(
          "--project-url",
          dest="project_url",
          help="URL for project web pages",
          default=None,
          metavar="PROJECT_URL",
      )
      parser.add_option(
          "--project-ml-url",
          dest="project_ml_url",
          help="URL for project mailing list",
          default=None,
          metavar="PROJECT_ML_URL",
      )
      (options, args) = parser.parse_args()
      if len(args) < 2:
          parser.print_help()
          sys.exit()
      out_path, project_name = args
      if options.repo_name is None:
          options.repo_name = project_name
      if options.main_gh_user is None:
          options.main_gh_user = options.repo_name
      repo_path = clone_repo(
          options.gitwash_url, options.gitwash_branch
      )
      try:
          copy_replace(
              (
                  ("PROJECTNAME", project_name),
                  ("REPONAME", options.repo_name),
                  ("MAIN_GH_USER", options.main_gh_user),
              ),
              repo_path,
              out_path,
              cp_globs=(pjoin("gitwash", "*"),),
              rep_globs=("*.rst",),
              renames=((r"\.rst$", options.source_suffix),),
          )
          make_link_targets(
              project_name,
              options.main_gh_user,
              options.repo_name,
              pjoin(out_path, "gitwash", "known_projects.inc"),
              pjoin(out_path, "gitwash", "this_project.inc"),
              options.project_url,
              options.project_ml_url,
          )
      finally:
          shutil.rmtree(repo_path)
  
file_path: nipype/tools/gitwash_dumper.py
imports: import os
  from os.path import join
  import shutil
  import sys
  import re
  import glob
  import fnmatch
  import tempfile
  from subprocess import call
  from optparse import OptionParser
label_desc: Use image node_id 6 for calling a global function with example usage: main() without return types