<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load_config(config_file_override=False):
 """ Pulls the supernova configuration file and reads it """

    supernova_config = get_config_file(config_file_override)
    supernova_config_dir = get_config_directory(config_file_override)

    if not supernova_config and not supernova_config_dir:
        raise Exception("Couldn't find a valid configuration file to parse")

    nova_creds = ConfigObj()

    # Can we successfully read the configuration file?
    if supernova_config:
        try:
            nova_creds.merge(ConfigObj(supernova_config))
        except:
            raise("There's an error in your configuration file")

    if supernova_config_dir:
        for dir_file in os.listdir(supernova_config_dir):
            full_path = ''.join((supernova_config_dir, dir_file))
            try:
                nova_creds.merge(ConfigObj(full_path))
            except:
                msg = "Skipping '%s', Parsing Error.".format(full_path)
                print(msg)

    create_dynamic_configs(nova_creds)
    return nova_creds