Skip to content
Snippets Groups Projects

ENH: add entity getters and cached functions

Merged Henrik tom Wörden requested to merge f-entity-getters into dev
All threads resolved!

Summary

Added:

  • Entity getters: get_entity_by_<name/id/path> to retrieve single Entities identified via some attribute
  • Cached versions of entity getters and of execute_query (cached_query)

Focus

You might want to look at the documentation first (build it with make doc). lru_cache is used for caching. lru_cache does not have the ability to add items to the cache manually. Thus, a dumb cache was added to allow this (see code).

Test Environment

unit tests.

I did not add integration test due to two reasons:

  1. the getter functions are defined via the query that is sent. We do not need to test the query function here.
  2. the getter functions and the execute_query function are mocked such that everything can be tested as unit test. (Those functions are the only connection to the server that would require integration tests)

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 Henrik tom Wörden

Merge request reports

Pipeline #35543 passed

Pipeline: LinkAhead

#35545

    Pipeline passed for a2ac0e15 on f-entity-getters

    Approval is optional
    Loading

    Merge details

    • 0 commits and 1 merge commit will be added to .
    • Source branch will not be deleted.

    Activity

    Filter activity
    • Approvals
    • Assignees & reviewers
    • Comments (from bots)
    • Comments (from users)
    • Commits & branches
    • Edits
    • Labels
    • Lock status
    • Mentions
    • Merge request status
    • Tracking
  • Henrik tom Wörden
  • Henrik tom Wörden changed the description

    changed the description

  • Daniel Hornung added 1 commit

    added 1 commit

    • b753e721 - DOC: Worked on the documentation.

    Compare with previous version

  • Daniel Hornung
  • Daniel Hornung added 2 commits

    added 2 commits

    Compare with previous version

  • Daniel Hornung added 2 commits

    added 2 commits

    • f49137e6 - MAINT: Renamed fill_cache -> cache_fill, also updated documentation.
    • 130380d6 - TEST: Added and improved unit tests.

    Compare with previous version

  • Daniel Hornung added 1 commit

    added 1 commit

    • 73d2ad79 - DOC: Some formatting to appease the sphinx.

    Compare with previous version

  • Daniel Hornung marked the checklist item I understand the intent of this MR as completed

    marked the checklist item I understand the intent of this MR as completed

  • Daniel Hornung marked the checklist item All automated tests pass as completed

    marked the checklist item All automated tests pass as completed

  • Daniel Hornung marked the checklist item All automated tests pass as incomplete

    marked the checklist item All automated tests pass as incomplete

  • Daniel Hornung marked the checklist item Up-to-date CHANGELOG.md (or not necessary) as completed

    marked the checklist item Up-to-date CHANGELOG.md (or not necessary) as completed

  • Daniel Hornung marked the checklist item Appropriate user and developer documentation (or not necessary) as completed

    marked the checklist item Appropriate user and developer documentation (or not necessary) as completed

  • Daniel Hornung marked the checklist item The test environment setup works and the intended behavior is reproducible in the test as completed

    marked the checklist item The test environment setup works and the intended behavior is reproducible in the test as completed

  • Daniel Hornung marked the checklist item In-code documentation and comments are up-to-date. as completed

    marked the checklist item In-code documentation and comments are up-to-date. as completed

  • Daniel Hornung added 1 commit

    added 1 commit

    • a2ac0e15 - DOC: Small rewording to make the documentation easier to understand.

    Compare with previous version

  • Daniel Hornung resolved all threads

    resolved all threads

  • Daniel Hornung requested review from @henrik and removed review request for @daniel

    requested review from @henrik and removed review request for @daniel

  • Daniel Hornung resolved all threads

    resolved all threads

  • mentioned in merge request caosdb-pyinttest!59 (merged)

  • Henrik tom Wörden marked the checklist item All automated tests pass as completed

    marked the checklist item All automated tests pass as completed

  • mentioned in commit 86311b39

  • Please register or sign in to reply
    Loading