code: def get_global_config(*args):
      '''Get (a subset of) the global configuration.
  
      If no arguments are provided, returns the entire configuration.
      Otherwise, start with the entire configuration, and get the item
      named by the first parameter; then search that for the second
      parameter; and so on.
  
      :param args: configuration name path to fetch
      :return: configuration item or subtree
      :raise KeyError: if an argument is missing
  
      '''
      global _config_cache
      c = _config_cache
      if c is None:
          if len(args) == 0:
              args = (None,)
          raise KeyError(args[0])
      for a in args:
          c = c[a]
      return f get_global_config(*args):
      '''Get (a subset of) the global configuration.
  
      If no arguments are provided, returns the entire configuration.
      Otherwise, start with the entire configuration, and get the item
      named by the first parameter; then search that for the second
      parameter; and so on.
  
      :param args: configuration name path to fetch
      :return: configuration item or subtree
      :raise KeyError: if an argument is missing
  
      '''
      global _config_cache
      c = _config_cache
      if c is None:
          if len(args) == 0:
              args = (None,)
          raise KeyError(args[0])
      for a in args:
          c = c[a]
      return c
docs: Get (a subset of) the global configuration.
  
      If no arguments are provided, returns the entire configuration.
      Otherwise, start with the entire configuration, and get the item
      named by the first parameter; then search that for the second
      parameter; and so on.
  
      :param args: configuration name path to fetch
      :return: configuration item or subtree
      :raise KeyError: if an argument is missing