code: def show_usage (docstring, short, stream, exitcode):
      
      if stream is None:
          from sys import stdout as stream
  
      if not short:
          print ('Usage:', docstring.strip (), file=stream)
      else:
          intext = False
          for l in docstring.splitlines ():
              if intext:
                  if not len (l):
                      break
                  print (l, file=stream)
              elif len (l):
                  intext = True
                  print ('Usage:', l, file=stream)
  
          print ('\nRun with a sole argument --help for more detailed '
                 'usage information.', file=stream)
  
      raise SystemExit (exitcode)
docs: Print program usage information and exit.
  
      :arg str docstring: the program help text
  
      This function just prints *docstring* and exits. In most cases, the
      function :func:`check_usage` should be used: it automatically checks
      :data:`sys.argv` for a sole "-h" or "--help" argument and invokes this
      function.
  
      This function is provided in case there are instances where the user
      should get a friendly usage message that :func:`check_usage` doesn't catch.
      It can be contrasted with :func:`wrong_usage`, which prints a terser usage
      message and exits with an error code.