Allow infinite depth in arduino-style config keys#140
Open
dave-newson wants to merge 3 commits intoqueezythegreat:masterfrom
Open
Allow infinite depth in arduino-style config keys#140dave-newson wants to merge 3 commits intoqueezythegreat:masterfrom
dave-newson wants to merge 3 commits intoqueezythegreat:masterfrom
Conversation
added 3 commits
February 15, 2015 23:08
…lues that contain the = character.
…uding regex symbols. Swapped second regex match for SUBSTRING.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
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=MyValueDeeper 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=MyValueAlso 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
SETTINGSandSUBSETTINGS, has been standardised to justSETTINGS.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?)