docs: def get(path_or_file, default=SENTINAL, mime=None, name=None, backend=None,
          encoding=None, encoding_errors=None, kwargs=None,
          _wtitle=False):
      """
      Get document full text.
  
      Accepts a path or file-like object.
       * If given, `default` is returned instead of an error.
       * `backend` is either a module object or a string specifying which
         default backend to use (e.g. "doc"); take a look at backends
         directory to see a list of default backends.
       * `mime` and `name` should be passed if the information
         is available to caller, otherwise a best guess is made.
         If both are specified `mime` takes precedence.
       * `encoding` and `encoding_errors` are used to handle text encoding.
         They are taken into consideration mostly only by pure-python
         backends which do not rely on CLI tools.
         Default to "utf8" and "strict" respectively.
       * `kwargs` are passed to the underlying backend.
      """
      try:
          text, title = _get(
              path_or_file, default=default, mime=mime, name=name,
              backend=backend, kwargs=kwargs, encoding=encoding,
              encoding_errors=encoding_errors, _wtitle=_wtitle)
          if _wtitle:
              return (text, title)
          else:
              return text
      except Exception as e:
          if default is not SENTINAL:
              LOGGER.exception(e)
              return default
          raise