Skip to content

Commit 06e8cff

Browse files
authored
Merge pull request #576 from cmu-delphi/sgratzl/data-anomalies
feat: add /covidcast/anomalies endpoint
2 parents 59e35d6 + ce3838a commit 06e8cff

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/server/endpoints/covidcast.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from flask.json import loads, jsonify
66
from bisect import bisect_right
77
from sqlalchemy import text
8+
from pandas import read_csv
89

910
from .._common import is_compatibility_mode, db
1011
from .._exceptions import ValidationFailedException, DatabaseErrorException
@@ -32,7 +33,7 @@
3233
require_any,
3334
)
3435
from .._db import sql_table_has_columns
35-
from .._pandas import as_pandas
36+
from .._pandas import as_pandas, print_pandas
3637
from .covidcast_utils import compute_trend, compute_trends, compute_correlations, compute_trend_value, CovidcastMetaEntry, AllSignalsMap
3738
from ..utils import shift_time_value, date_to_time_value, time_value_to_iso, time_value_to_date
3839

@@ -534,3 +535,18 @@ def handle_coverage():
534535
_handle_lag_issues_as_of(q, None, None, None)
535536

536537
return execute_query(q.query, q.params, fields_string, fields_int, [])
538+
539+
540+
@bp.route("/anomalies", methods=("GET", "POST"))
541+
def handle_anomalies():
542+
"""
543+
proxy to the excel sheet about data anomalies
544+
"""
545+
546+
signal = parse_source_signal_arg("signal")
547+
548+
df = read_csv(
549+
"https://docs.google.com/spreadsheets/d/e/2PACX-1vToGcf9x5PNJg-eSrxadoR5b-LM2Cqs9UML97587OGrIX0LiQDcU1HL-L2AA8o5avbU7yod106ih0_n/pub?gid=0&single=true&output=csv", skip_blank_lines=True
550+
)
551+
df = df[df["source"].notnull() & df["published"]]
552+
return print_pandas(df)

0 commit comments

Comments
 (0)