Previously, we've hooked the .md setter to do some operations after happi attempts to set the .md attribute. This has caused (me) confusion, and unless thoroughly annotated the purpose of the setter is not clear (mostly to me with my goldfish memory)
How Has This Been Tested?
Added a quick test
Where Has This Been Documented?
Here, and pre-release notes eventually
Pre-merge checklist
[x] Code works interactively
[x] Code contains descriptive docstrings, including context and API
[x] New/changed functions and methods are covered in the test suite where possible
[x] Test suite passes locally
[x] Test suite passes on GitHub Actions
[x] Ran docs/pre-release-notes.sh and created a pre-release documentation page
[x] Pre-release docs include context, functional descriptions, and contributors as appropriate
Description
Adds a hook to allow code to be run on the object after the
.md
attribute is set. This would allow the loaded object to interact with its metadata.Motivation and Context
Most recently https://github.com/pcdshub/pcdsdevices/pull/1132/, but also the lightpath input/output branches setting in pcdsdevices previously (link)
Previously, we've hooked the
.md
setter to do some operations after happi attempts to set the.md
attribute. This has caused (me) confusion, and unless thoroughly annotated the purpose of the setter is not clear (mostly to me with my goldfish memory)How Has This Been Tested?
Added a quick test
Where Has This Been Documented?
Here, and pre-release notes eventually
Pre-merge checklist
docs/pre-release-notes.sh
and created a pre-release documentation page