Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow infinite depth in arduino-style config keys #140

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

dave-newson
Copy link

This PR fixes the Arduino-style config imports (boards.txt, etc) only allow a maximum depth of 3 keys, and now allows for an infinite depth of keys.

For instance, previously you could only import a maximum depth such as:
KeyOne.KeyTwo.KeyThree=MyValue
Deeper key/value pairs would previous be discarded and appear incomplete when requested as a setting. For example, this was not possible, and now is:
KeyOne.KeyTwo.KeyThree.KeyFour.KeyFive.KeySix=MyValue

Also added a bugfix which allows the load_arduino_style_settings function to correctly import settings values that contain the = character. Previously anything between the two = characters would be omitted.

The index of keys for each collection, previously SETTINGS and SUBSETTINGS, has been standardised to just SETTINGS.

print_settings() has also been modified for compatibility, using recursion to walk any specified settings tree.
Technically, it can also report on any variable that is requested, not just collections (bug? improvement? whoops?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant