First step toward using exceptions instead of dicts everywhere.
Related to T2792
Differential D4506
Generalize BadRequestError to be a DepositError. Authored by vlorentz on Nov 18 2020, 2:08 PM.
Details
First step toward using exceptions instead of dicts everywhere. Related to T2792
Diff Detail
Event TimelineComment Actions Build is green Patch application report for D4506 (id=15984)Could not rebase; Attempt merge onto a67ed6b06b... Updating a67ed6b0..7a8e6b0a
Fast-forward
swh/deposit/api/{deposit.py => collection.py} | 12 +-
swh/deposit/api/common.py | 201 ++++++++-------
swh/deposit/api/{deposit_content.py => content.py} | 10 +-
swh/deposit/api/deposit_update.py | 277 ---------------------
swh/deposit/api/edit.py | 152 +++++++++++
swh/deposit/api/edit_media.py | 97 ++++++++
swh/deposit/api/private/deposit_update_status.py | 12 +-
swh/deposit/api/service_document.py | 2 +-
swh/deposit/api/{deposit_status.py => state.py} | 4 +-
swh/deposit/api/sword_edit.py | 82 ++++++
swh/deposit/api/urls.py | 44 ++--
swh/deposit/config.py | 3 +-
swh/deposit/errors.py | 8 +-
swh/deposit/templates/deposit/deposit_receipt.xml | 4 +-
.../api/{test_deposit.py => test_collection.py} | 4 +-
...eposit_atom.py => test_collection_post_atom.py} | 11 +-
...it_binary.py => test_collection_post_binary.py} | 17 +-
...etadata.py => test_collection_post_metadata.py} | 2 +
...tipart.py => test_collection_post_multipart.py} | 2 +
.../api/{test_deposit_delete.py => test_delete.py} | 8 +-
.../api/test_deposit_private_read_metadata.py | 4 +-
swh/deposit/tests/api/test_deposit_update.py | 43 ++--
.../{test_deposit_content.py => test_get_file.py} | 2 +
swh/deposit/tests/conftest.py | 4 +-
24 files changed, 549 insertions(+), 456 deletions(-)
rename swh/deposit/api/{deposit.py => collection.py} (91%)
rename swh/deposit/api/{deposit_content.py => content.py} (88%)
delete mode 100644 swh/deposit/api/deposit_update.py
create mode 100644 swh/deposit/api/edit.py
create mode 100644 swh/deposit/api/edit_media.py
rename swh/deposit/api/{deposit_status.py => state.py} (95%)
create mode 100644 swh/deposit/api/sword_edit.py
rename swh/deposit/tests/api/{test_deposit.py => test_collection.py} (98%)
rename swh/deposit/tests/api/{test_deposit_atom.py => test_collection_post_atom.py} (97%)
rename swh/deposit/tests/api/{test_deposit_binary.py => test_collection_post_binary.py} (97%)
rename swh/deposit/tests/api/{test_deposit_metadata.py => test_collection_post_metadata.py} (99%)
rename swh/deposit/tests/api/{test_deposit_multipart.py => test_collection_post_multipart.py} (99%)
rename swh/deposit/tests/api/{test_deposit_delete.py => test_delete.py} (94%)
rename swh/deposit/tests/api/{test_deposit_content.py => test_get_file.py} (98%)Changes applied before testcommit 7a8e6b0abe7a457cb87bd12f7fb469e811447fbe
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date: Wed Nov 18 13:36:32 2020 +0100
Generalize BadRequestError to be a DepositError.
First step toward using exceptions instead of dicts everywhere.
commit 66eb322d5c262157470cc4fcac7d696e3668ff9d
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date: Wed Nov 18 13:19:21 2020 +0100
Move _compute_md5 to toplevel and remove its docstring.
It doesn't need to be in a class, and the docstring is redundant.
commit 333f9847629bface8f8540d15d22be3a44c8240b
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date: Wed Nov 18 13:10:07 2020 +0100
Move Deposit Receipt creation to its own function.
And move _make_iri's code inside this function, it was almost a single statement.
commit 466a0f27d77c4601fc9933b6f67033de4df51cfe
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date: Wed Nov 18 12:47:00 2020 +0100
Use an attr class instead of a dict to store parsed headers.
Better typing.
commit 01cb24d3c44059839d0a1daa9c1947426171c019
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date: Wed Nov 18 11:48:40 2020 +0100
Split SE-IRI and Edit-IRI.
SWORD doesn't require them to be the same, and IMO it is clearer
if we keep them separate.
commit 64371a3dc2133a977244e884a191ad7f0162557c
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date: Wed Nov 18 11:48:35 2020 +0100
remove assumption that Edit-IRI and SE-IRI are the same from test_post_deposit_atom_entry_multiple_steps.
Currently they are, but a future commit will make them different.
commit 329a2a3785ad8431fa7ec73fee31e86dbee36911
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date: Wed Nov 18 11:10:49 2020 +0100
Rename files and classes in swh/deposit/api/deposit_* to be consistent with SWORD terminology.See https://jenkins.softwareheritage.org/job/DDEP/job/tests-on-diff/370/ for more details. Comment Actions yes! Thanks. I was pondering whether to add logging statement at the same time of the change (since we touch that part). [1] T2626 |