Load a global configuration object, and query for any required variables along the way

def load_global_config(config_path):
    """ Load a global configuration object, and query for any required variables along the way """
    config = configparser.RawConfigParser()
    if os.path.exists(config_path):
        logger.debug("Checking and setting global parameters...")
        config.read(config_path)
    else:
        _initial_run()
        logger.info("Unable to find a global sprinter configuration!")
        logger.info("Creating one now. Please answer some questions" +
                    " about what you would like sprinter to do.")
        logger.info("")
    # checks and sets sections
    if not config.has_section('global'):
        config.add_section('global')

    configure_config(config)
    write_config(config, config_path)

    return config