Skip to content

ENH: F remove value or property

Florian Spreckelsen requested to merge f-remove-value-or-property into dev

Summary

Precondition for https://gitlab.indiscale.com/caosdb/customers/geomar/management/-/issues/110. Adds a function that removes a value from a property, and optionally, the property from the entity if it is empty afterwards. We used to implement this functionality in several customer-specific extensions, so I think it makes sense to have this upstream.

Focus

Check whether the behavior of the new function is reasonable also in the corner cases of list properties in which the value to be removed occurs more than once (i.e., remove "a" from ["a", "b", "a"]) and in case of an already empty property (remove "something" from None vs remove None from None).

Test Environment

Unit tests should be sufficient, but feel free to test it manually, too. Also check whether the docstring is understandable.

Check List for the Author

Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines

  • All automated tests pass
  • Reference related issues
  • Up-to-date CHANGELOG.md (or not necessary)
  • Up-to-date JSON schema (or not necessary)
  • Appropriate user and developer documentation (or not necessary)
    • How do I use the software? Assume "stupid" users.
    • How do I develop or debug the software? Assume novice developers.
  • Annotations in code (Gitlab comments)
    • Intent of new code
    • Problems with old code
    • Why this implementation?

Check List for the Reviewer

  • I understand the intent of this MR
  • All automated tests pass
  • Up-to-date CHANGELOG.md (or not necessary)
  • Appropriate user and developer documentation (or not necessary)
  • The test environment setup works and the intended behavior is reproducible in the test environment
  • In-code documentation and comments are up-to-date.
  • Check: Are there specifications? Are they satisfied?

For further good practices have a look at our review guidelines.

Edited by Daniel Hornung

Merge request reports