Exemplo n.º 1
0
def set_default_track(snap_name: str, track_name: str):
    """Set the default track for <snap-name> to <track>.

    The track must be a valid active track for this operation to be successful.
    """
    store_client_cli = StoreClientCLI()

    # Client-side check to verify that the selected track exists.
    snap_channel_map = store_client_cli.get_snap_channel_map(snap_name=snap_name)
    active_tracks = [
        track.name
        for track in snap_channel_map.snap.tracks
        if track.status in ("default", "active")
    ]
    if track_name not in active_tracks:
        echo.exit_error(
            brief=f"The specified track {track_name!r} does not exist for {snap_name!r}.",
            resolution=f"Ensure the {track_name!r} track exists for the {snap_name!r} snap and try again.",
            details="Valid tracks for {!r}: {}.".format(
                snap_name, ", ".join([f"{t!r}" for t in active_tracks])
            ),
        )

    metadata = dict(default_track=track_name)
    store_client_cli.upload_metadata(snap_name=snap_name, metadata=metadata, force=True)

    echo.info(f"Default track for {snap_name!r} set to {track_name!r}.")
Exemplo n.º 2
0
def set_default_track(snap_name: str, track_name: str):
    """Set the default track for <snap-name> to <track>.

    The track must be a valid active track for this operation to be successful.
    """
    store_client_cli = StoreClientCLI()
    metadata = dict(default_track=track_name)
    store_client_cli.upload_metadata(snap_name=snap_name,
                                     metadata=metadata,
                                     force=True)

    echo.info(f"Default track for {snap_name!r} set to {track_name!r}.")