[Feature] Config Parser Rewrite - Turn into a class
Cameronsplaze opened this issue · 1 comments
Is your feature request related to a problem? Please describe.
This'll make the file MUCH easier to read, and expand on. For example, you can then delete keys from the file's dict as you parse them. That way if you typo one, and there's something left over, we can error to save the user on loads of debugging.
Describe the solution you'd like
Make the Config Parser file very readable/expandable. Turn it into a class. This'll make passing it around in python easier too. Can then expand into:
- Error if there's any unused keys in the config.
Describe alternatives you've considered
Unless there's some config-parser library I haven't found yet, I'm not sure there is any alternative...
Additional context
As apart of the re-write, now that you can link to specific headers in the examples readme (I.e https://github.com/Cameronsplaze/AWS-ContainerManager/blob/main/Examples/README.md#volumespathspath), add the url to the error if a key is missing! Something like passing Volumes[*].Paths[*].Path
into some "required_to_exist" method will throw Error: {config_option} does not exist. Blah, more info at {url}#{config_option.lower().(remove_all_non_alpha)}
This is technically blocked by #69, but I'm working on that now. Came by this idea because of that re-write actually.