Automatic migration of deprecated values #479
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enable automatic migrations of deprecated config fields
When a field is deprecated, you can call
config.deprecated('off_below', replace_with={'min_power': 0.0})
This tells klippy that the configuration is pending a save, but instead of using the autosave section, the deprecated field is removed and the replacement fields are inserted after
Pending changes in Fluidd:
One change after saving:
I haven't been able to test every field, however it seems to work well. This does make having both the deprecated option and it's replacement an error, so a slight breaking change there. I could alternately just remove the replacement from the fields to be saved and ignore the migration's new value, allowing for the original field removal to still process?
Checklist