Skip to content

Commit cb5731a

Browse files
committed
Issue #215 finetune "partial" (job result) handling
related to Open-EO/openeo-api#509
1 parent 54a43ec commit cb5731a

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

openeo_driver/views.py

+7-8
Original file line numberDiff line numberDiff line change
@@ -891,9 +891,9 @@ def _job_result_download_url(job_id, user_id, filename) -> str:
891891
@blueprint.route('/jobs/<job_id>/results', methods=['GET'])
892892
@auth_handler.requires_bearer_auth
893893
def list_job_results(job_id, user: User):
894-
partial = request.args.get("partial", False)
895-
partial = True if partial in ["true", True] else False
896-
return _list_job_results(job_id, user.user_id, partial)
894+
# TODO: How is "partial" encoded? Also see https://github.com/Open-EO/openeo-api/issues/509
895+
partial = str(request.args.get("partial")).lower() in {"true", "1"}
896+
return _list_job_results(job_id, user.user_id, partial=partial)
897897

898898
@api_endpoint
899899
@blueprint.route('/jobs/<job_id>/results/<user_base64>/<secure_key>', methods=['GET'])
@@ -902,12 +902,12 @@ def list_job_results_signed(job_id, user_base64, secure_key):
902902
signer = get_backend_config().url_signer
903903
user_id = user_id_b64_decode(user_base64)
904904
signer.verify_job_results(signature=secure_key, job_id=job_id, user_id=user_id, expires=expires)
905-
partial = request.args.get("partial", False)
906-
partial = True if partial in ["true", True] else False
905+
# TODO: How is "partial" encoded? Also see https://github.com/Open-EO/openeo-api/issues/509
906+
partial = str(request.args.get("partial")).lower() in {"true", "1"}
907907
with TimingLogger(f"_list_job_results({job_id=}, {user_id=}, {partial=})", _log):
908-
return _list_job_results(job_id, user_id, partial)
908+
return _list_job_results(job_id, user_id, partial=partial)
909909

910-
def _list_job_results(job_id, user_id, partial=False):
910+
def _list_job_results(job_id, user_id, *, partial: bool = False):
911911
to_datetime = Rfc3339(propagate_none=True).datetime
912912

913913
def job_results_canonical_url() -> str:
@@ -921,7 +921,6 @@ def job_results_canonical_url() -> str:
921921
# TODO: also encrypt user id?
922922
# TODO: encode all stuff (signature, userid, expiry) in a single blob in the URL
923923

924-
query_string = "?partial=true" if partial else ""
925924
if partial:
926925
return url_for(
927926
".list_job_results_signed",

0 commit comments

Comments
 (0)