parameters: ()
docstring: Command-line interface (looks at sys.argv to decide what to do).
docstring_summary: Command-line interface (looks at sys.argv to decide what to do).
docstring_tokens: Command - line interface ( looks at sys . argv to decide what to do ) .
function: def cli():
      """Command-line interface (looks at sys.argv to decide what to do)."""
      import getopt
      class BadUsage: pass
  
      # Scripts don't get the current directory in their path by default
      # unless they are run with the '-m' switch
      if '' not in sys.path:
          scriptdir = os.path.dirname(sys.argv[0])
          if scriptdir in sys.path:
              sys.path.remove(scriptdir)
          sys.path.insert(0, '.')
  
      try:
          opts, args = getopt.getopt(sys.argv[1:], 'gk:p:w')
          writing = 0
  
          for opt, val in opts:
              if opt == '-g':
                  gui()
                  return
              if opt == '-k':
                  apropos(val)
                  return
              if opt == '-p':
                  try:
                      port = int(val)
                  except ValueError:
                      raise BadUsage
                  def ready(server):
                      print 'pydoc server ready at %s' % server.url
                  def stopped():
                      print 'pydoc server stopped'
                  serve(port, ready, stopped)
                  return
              if opt == '-w':
                  writing = 1
  
          if not args: raise BadUsage
          for arg in args:
              if ispath(arg) and not os.path.exists(arg):
                  print 'file %r does not exist' % arg
                  break
              try:
                  if ispath(arg) and os.path.isfile(arg):
                      arg = importfile(arg)
                  if writing:
                      if ispath(arg) and os.path.isdir(arg):
                          writedocs(arg)
                      else:
                          writedoc(arg)
                  else:
                      help.help(arg)
              except ErrorDuringImport, value:
                  print value
  
      except (getopt.error, BadUsage):
          cmd = os.path.basename(sys.argv[0])
          print """pydoc - the Python documentation tool
  
  %s <name> ...
      Show text documentation on something.  <name> may be the name of a
      Python keyword, topic, function, module, or package, or a dotted
      reference to a class or function within a module or module in a
      package.  If <name> contains a '%s', it is used as the path to a
      Python source file to document. If name is 'keywords', 'topics',
      or 'modules', a listing of these things is displayed.
  
  %s -k <keyword>
      Search for a keyword in the synopsis lines of all available modules.
  
  %s -p <port>
      Start an HTTP server on the given port on the local machine.
  
  %s -g
      Pop up a graphical interface for finding and serving documentation.
  
  %s -w <name> ...
      Write out the HTML documentation for a module to a file in the current
      directory.  If <name> contains a '%s', it is treated as a filename; if
      it names a directory, documentation is written for all the contents.
  """ % (cmd, os.sep, cmd, cmd, cmd, cmd, os.sep)
function_tokens: def cli ( ) : import getopt class BadUsage : pass # Scripts don't get the current directory in their path by default # unless they are run with the '-m' switch if '' not in sys . path : scriptdir = os . path . dirname ( sys . argv [ 0 ] ) if scriptdir in sys . path : sys . path . remove ( scriptdir ) sys . path . insert ( 0 , '.' ) try : opts , args = getopt . getopt ( sys . argv [ 1 : ] , 'gk:p:w' ) writing = 0 for opt , val in opts : if opt == '-g' : gui ( ) return if opt == '-k' : apropos ( val ) return if opt == '-p' : try : port = int ( val ) except ValueError : raise BadUsage def ready ( server ) : print 'pydoc server ready at %s' % server . url def stopped ( ) : print 'pydoc server stopped' serve ( port , ready , stopped ) return if opt == '-w' : writing = 1 if not args : raise BadUsage for arg in args : if ispath ( arg ) and not os . path . exists ( arg ) : print 'file %r does not exist' % arg break try : if ispath ( arg ) and os . path . isfile ( arg ) : arg = importfile ( arg ) if writing : if ispath ( arg ) and os . path . isdir ( arg ) : writedocs ( arg ) else : writedoc ( arg ) else : help . help ( arg ) except ErrorDuringImport , value : print value except ( getopt . error , BadUsage ) : cmd = os . path . basename ( sys . argv [ 0 ] ) print """pydoc - the Python documentation tool
  
  %s <name> ...
      Show text documentation on something.  <name> may be the name of a
      Python keyword, topic, function, module, or package, or a dotted
      reference to a class or function within a module or module in a
      package.  If <name> contains a '%s', it is used as the path to a
      Python source file to document. If name is 'keywords', 'topics',
      or 'modules', a listing of these things is displayed.
  
  %s -k <keyword>
      Search for a keyword in the synopsis lines of all available modules.
  
  %s -p <port>
      Start an HTTP server on the given port on the local machine.
  
  %s -g
      Pop up a graphical interface for finding and serving documentation.
  
  %s -w <name> ...
      Write out the HTML documentation for a module to a file in the current
      directory.  If <name> contains a '%s', it is treated as a filename; if
      it names a directory, documentation is written for all the contents.
  """ % ( cmd , os . sep , cmd , cmd , cmd , cmd , os . sep )