code: def main(argv=sys.argv):
      
      parser = setup_parser()
  
      (opts, args) = parser.parse_args(argv[1:])
  
      if not args:
          parser.error('A package path is required.')
  
      rootpath, excludes = args[0], args[1:]
      if not opts.destdir:
          parser.error('An output directory is required.')
      if opts.header is None:
          opts.header = path.normpath(rootpath).split(path.sep)[-1]
      if opts.suffix.startswith('.'):
          opts.suffix = opts.suffix[1:]
      if not path.isdir(rootpath):
          print >>sys.stderr, '%s is not a directory.' % rootpath
          sys.exit(1)
      if not path.isdir(opts.destdir):
          if not opts.dryrun:
              os.makedirs(opts.destdir)
      rootpath = path.normpath(path.abspath(rootpath))
      excludes = normalize_excludes(rootpath, excludes)
      modules = recurse_tree(rootpath, excludes, opts)
      if opts.full:
          from sphinx import quickstart as qs
          modules.sort()
          prev_module = ''
          text = ''
          for module in modules:
              if module.startswith(prev_module + '.'):
                  continue
              prev_module = module
              text += '   %s\n' % module
          d = dict(
              path = opts.destdir,
              sep  = False,
              dot  = '_',
              project = opts.header,
              author = opts.author or 'Author',
              version = opts.version or '',
              release = opts.release or opts.version or '',
              suffix = '.' + opts.suffix,
              master = 'index',
              epub = True,
              ext_autodoc = True,
              ext_viewcode = True,
              makefile = True,
              batchfile = True,
              mastertocmaxdepth = opts.maxdepth,
              mastertoctree = text,
          )
          if not opts.dryrun:
              qs.generate(d, silent=True, overwrite=opts.force)
      elif not opts.notoc:
          create_modules_toc_file(modules, opts)
docs: Parse and check the command line arguments.