Update Odin-data's Python Adapter Metadata Request & Parse Mechanism - #512
Update Odin-data's Python Adapter Metadata Request & Parse Mechanism#512Ohisemega wants to merge 37 commits into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #512 +/- ##
==========================================
+ Coverage 47.84% 48.01% +0.17%
==========================================
Files 95 95
Lines 7673 7724 +51
Branches 670 669 -1
==========================================
+ Hits 3671 3709 +38
- Misses 3810 3823 +13
Partials 192 192 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The class is designed to reimplement key functions in the BaseParameter class and insert metadata
Remove derived_parameter_tree. Implement a splice_params_metadata() function to overlay a parameter JSON with metadata at the leaf-nodes. Add logic to cache the metadata and the metadata hash from odin-data responses. Add logic to track the latest metadata hash. Add logic to request for status/config metadata when the hash value changes.
JamesOHeaDLS
left a comment
There was a problem hiding this comment.
Hi @Ohisemega
I've added my comments. I think we also really needs an associated set of tests to check that these tree interactions are doing what we expect
ad62e7c to
b61ee55
Compare
Fix class name bug in IpcTornadoClient class. Remove default arguments from recursive_splice() function. Remove duplicate loop processing form recursive_splice() function. Simplify the 'IF' statement within the update_loop() function of the OdinDataCOntroller class. Add test_control file and test case for recursive_splice() function. Fixes #409
This comment was marked as outdated.
This comment was marked as outdated.
Add documenting comments.
Remove condition which deletes metadata from IpcTornadoClient's dictionary.
Add 'timing', 'connected' and plugins list to Response
Update IpcTornadoClient to reflect sub-parameter of status_request under status.
Odin-data returns time-stamps rather than hash strings. Updated odin-control to align with that change.
A change in the config/status metadata implies a change in the command strucuture. Add a boolean flag which is set to true when the config/status is updated.
If metadata has been received, then the command structure might have an update!
Fix erratic commits.
This comment was marked as resolved.
This comment was marked as resolved.
Add more docstrings to python functions. Remove redundant arguments in functions.
|
Thanks for the docstrings @ajgdls. They describe the functions very well and as intended! |
ajgdls
left a comment
There was a problem hiding this comment.
Hi @Ohisemega this is now close. I noticed that command execution is not quite working as I expected though. I think the current mechanism does this:
put is called on a command execution.
execute callback puts the name of the command and the plugin on the callback queue.
I see no mechanism that results in the queued commands being sent down to the C++ applications. We can discuss this today at our meeting, it may be that now we do not need to queue commands any longer and can instead simply send them straight through to the C++ applications.
I've rectified this, thank you! |
Update the adapter's controller to track the hash version of the metadata
Fixes #409
Fixes #527
Fixes #342