docs: def load(self, config_template, config_file=None):
          """Read the config file if it exists, else read the default config.
  
          Creates the user config file if it doesn't exist using the template.
  
          :type config_template: str
          :param config_template: The config template file name.
  
          :type config_file: str
          :param config_file: (Optional) The config file name.
              If None, the config_file name will be set to the config_template.
  
          :rtype: :class:`configobj.ConfigObj`
          :return: The config information for reading and writing.
          """
          if config_file is None:
              config_file = config_template
          config_path = build_config_file_path(config_file)
          template_path = os.path.join(os.path.dirname(__file__),
                                       config_template)
          self._copy_template_to_config(template_path, config_path)
          return self._load_template_or_config(template_path, config_path)