code: def load_default_env(
      auppath=DEFAULT_AUPTIMIZER_PATH, log=logger, use_default=True
  ):
      """Load default environment variables for aup.
      Search recursively to upper folder
  
      :param auppath: aup environment folder, contains `env.ini` file
      :type auppath: str
      :param log: logger obj to trace where the function is called, default is aup.utils,
                  if None, then no logging is performed
      :type log: logging.Logger
      :param use_default: if auppath is empty, use user's home folder instead.
      :type use_default: bool
      :return: key-value of parameters
      :rtype: dict
      """
      if not path.isfile(path.join(auppath, "env.ini")):
          if use_default:
              auppath = path.join(path.expanduser("~"), ".aup")
              if log is not None:
                  log.warning("Use default env at %s" % auppath)
              if not path.isfile(
                  path.join(auppath, "env.ini")
              ):  # pragma: no cover
                  raise Exception("Failed to find env.ini")
          else:
              raise ValueError(
                  "Auptimizer folder %s is missing" % auppath
              )
      if log is not None:
          log.info("Auptimizer environment at %s", auppath)
      config = ConfigParser()
      config.optionxform = str
      config.read(path.join(auppath, "env.ini"))
      return {i[0]: i[1] for i in config.items("Auptimizer")}
  
imports: from __future__ import print_function
  import sys
  import logging
  import os
  from os import path
  from six.moves import input
  from six.moves.configparser import ConfigParser
  import paramiko
  from paramiko import SFTPClient
  from .aup import BasicConfig, print_result
label_desc: Use image node_id 5 for calling a global function with example usage: load_default_env(auppath, log, use_default) and returns: unknown