def new_request()

in src/guclimate/requests/cli.py [0:0]


def new_request():
    chosen_template = inquirer.list_input(
        message="Which data would you like to request?",
        choices=[
            (
                "Anomaly data from the 'ecv-for-climate-change' dataset",
                "anomalies",
            ),
            (
                "Monthly means from the 'ecv-for-climate-changes' dataset",
                "monthly-means",
            ),
        ],
    )

    if chosen_template == "anomalies":
        request = ecv.anomlies()
    elif chosen_template == "monthly-means":
        request = ecv.monthly_means()

    request.print()

    confirm = inquirer.confirm(
        message="Would you like to submit this request?",
    )

    if not confirm:
        return

    try:
        client = ApiClient(progress=False)
        client.submit(collection_id=request.product, request=request.params)

        ui.success("Request submitted to CDS.", after="\n\n")

        print(
            f"You can view and download requests using {
                ui.color('blue', 'guclimate requests list')},"
            + " or at https://cds.climate.copernicus.eu/requests.\n"
        )

    except requests.HTTPError as err:
        response = err.response.json()

        ui.error("Request rejected by CDS. Here's what they said:")

        print('"' + response["detail"] + '"')

    except Exception as err:
        ui.error("Request unexpectedly failed.")
        print(err)