From fa57a12ce4b547f2213a56fcd81bb7790fd99e4b Mon Sep 17 00:00:00 2001 From: calmandniceperson Date: Fri, 17 Apr 2020 21:13:15 +0200 Subject: [PATCH] Fix /v0/cases handler and corresponding database function --- app/persistence/db.py | 7 +------ app/routes/v0/__init__.py | 11 ++++++----- poetry.lock | 2 +- pyproject.toml | 1 + 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/app/persistence/db.py b/app/persistence/db.py index 9c2e4c3..9e89182 100644 --- a/app/persistence/db.py +++ b/app/persistence/db.py @@ -19,12 +19,7 @@ def get_cases( conditions["lat"] = lat if lon is not None: conditions["lon"] = lon - last_case = mongo.db.cases.find_one({"uuid": uuid}) - if last_case is None: - conditions["upload_timestamp"] = {"$gte": random_time_in_the_past()} - else: - conditions["upload_timestamp"] = {"$gte": last_case["upload_timestamp"]} - return (case for case in mongo.db.cases.find(conditions)) + return list(case for case in mongo.db.cases.find(conditions, {"_id": False})) def random_time_in_the_past() -> datetime: diff --git a/app/routes/v0/__init__.py b/app/routes/v0/__init__.py index 3aec85d..c9249dc 100644 --- a/app/routes/v0/__init__.py +++ b/app/routes/v0/__init__.py @@ -3,6 +3,7 @@ from typing import Union, Optional, Generator from app.persistence.db import get_cases, insert_random_cases from app.model import ApiError +import json cases = Blueprint("v0.cases", __name__, url_prefix="/v0/cases") @@ -26,12 +27,12 @@ def index() -> Response: cases = get_cases(uuid, lat=lat, lon=lon) - def generate() -> Generator[str, None, None]: - for case in cases: - case_uuid = str(case["uuid"]) - yield case_uuid + "," + # def generate() -> Generator[str, None, None]: + # for case in cases: + # case_uuid = str(case["uuid"]) + # yield case_uuid + "," - return Response(generate(), mimetype="application/octet-stream") + return Response(json.dumps(cases), mimetype="application/octet-stream") @cases.route("/insert/", methods=["POST"]) diff --git a/poetry.lock b/poetry.lock index 535c457..6e3c3a0 100644 --- a/poetry.lock +++ b/poetry.lock @@ -374,7 +374,7 @@ dev = ["pytest", "coverage", "tox", "sphinx", "pallets-sphinx-themes", "sphinx-i watchdog = ["watchdog"] [metadata] -content-hash = "1ae8e16eedb84283afb6c391050ccc4bea0a699fe2efe5b53ff771d14c6e40fe" +content-hash = "10f11d60bafa717e5dac7999257183f07069348283648d38e54a3420309b23e7" python-versions = "^3.8" [metadata.files] diff --git a/pyproject.toml b/pyproject.toml index 50a5687..5fb5dc6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,6 +9,7 @@ python = "^3.8" Flask = "^1.1.2" Flask-PyMongo = "^2.3.0" python-dateutil = "^2.8.1" +flask_pymongo = "^2.3.0" [tool.poetry.dev-dependencies] black = "^19.10b0"