From 8e8f2616595eb7b4c682f2ef68aef30d64d8acfc Mon Sep 17 00:00:00 2001 From: David Hoese <david.hoese@ssec.wisc.edu> Date: Thu, 27 Jul 2023 14:35:03 -0500 Subject: [PATCH] Fix CSV status string --- metobsapi/data_api.py | 7 +++++-- metobsapi/tests/test_data_api.py | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/metobsapi/data_api.py b/metobsapi/data_api.py index 512e2a4..348e798 100644 --- a/metobsapi/data_api.py +++ b/metobsapi/data_api.py @@ -196,7 +196,7 @@ def handle_csv(frame, epoch, response_info, formatting_kwargs): output = output.format( sep=sep, - status=response_info.get("status_info", "success"), + status=response_info.get("status", "success"), code=code, message=response_info.get("message", ""), num_results=frame.shape[0] if frame is not None else 0, @@ -432,7 +432,10 @@ def _query_time_series_db(time_parameters, influx_symbols): try: result = query(influx_symbols, *time_parameters) except ReadTimeoutError: - message = "Request took too long to process. It may be too much data. Try a shorter time range." + message = ( + "Request took too long to process. It may be too much data. " + "Try a shorter time range or use files API." + ) code = 413 status = "fail" result = None diff --git a/metobsapi/tests/test_data_api.py b/metobsapi/tests/test_data_api.py index 8159342..e891f87 100644 --- a/metobsapi/tests/test_data_api.py +++ b/metobsapi/tests/test_data_api.py @@ -298,6 +298,14 @@ def test_too_many_points(client): assert res["status"] == "fail" +def test_too_many_points_csv(client): + res = client.get("/api/data.csv?symbols=aoss.tower.air_temp&begin=1970-01-01T00:00:00") + assert res.status_code == 413 + csv_data = res.data.decode() + assert "status: fail" in csv_data + assert "num_results: 0" in csv_data + + @pytest.mark.parametrize( ("begin", "end", "exp_query_time"), [ -- GitLab