Beispiel #1
0
def check_trust_map(ui_, stored_cfg, repo_hash, notifiers, trusted_notifiers):
    """ INTERNAL: Function to interactively update the trust map. """
    if len(trusted_notifiers) > 0:
        return
    ui_.warn("\nYou MUST trust at least one FMS Id to "
             + "provide update notifications.\n\n")

    added = False
    fms_ids = notifiers.keys()
    fms_ids.sort()

    done = False
    for fms_id in fms_ids:
        if done:
            break
        ui_.status("Trust notifications from %s\n" % fms_id)
        while not done:
            result = ui_.prompt("(y)es, (n)o, (d)one, (a)bort?").lower()
            if result is None:
                raise util.Abort("Interactive input required.")
            elif result == 'y':
                trust_id_for_repo(stored_cfg.fmsread_trust_map, fms_id,
                                  repo_hash)
                added = True
                break
            elif result == 'n':
                break
            elif result == 'd':
                done = True
                break
            elif result == 'a':
                raise util.Abort("User aborted editing trust map.")

    if not added:
        raise util.Abort("No trusted notifiers!")

    Config.to_file(stored_cfg)
    ui_.status("Saved updated config file.\n\n")
Beispiel #2
0
def handled_trust_cmd(ui_, params, stored_cfg):
    """ INTERNAL: Handle --trust, --untrust and --showtrust. """
    if params['FMSREAD'] == 'trust':
        if trust_id_for_repo(stored_cfg.fmsread_trust_map,
                             params['FMSREAD_FMSID'],
                             params['FMSREAD_HASH']):
            ui_.status("Updated the trust map.\n")
            Config.to_file(stored_cfg)
        return True
    elif params['FMSREAD'] == 'untrust':
        if untrust_id_for_repo(stored_cfg.fmsread_trust_map,
                               params['FMSREAD_FMSID'],
                               params['FMSREAD_HASH']):
            ui_.status("Updated the trust map.\n")
            Config.to_file(stored_cfg)
        return True

    elif params['FMSREAD'] == 'showtrust':
        dump_trust_map(ui_, params, stored_cfg.fmsread_trust_map, True)
        return True

    return False