diff options
Diffstat (limited to 'py/config/__init__.py')
-rw-r--r-- | py/config/__init__.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/py/config/__init__.py b/py/config/__init__.py new file mode 100644 index 0000000000..6030c12e24 --- /dev/null +++ b/py/config/__init__.py @@ -0,0 +1,36 @@ +from .base import BuildConfig, Config, Default, Feature, Disable, Feature, Value +from .options import Option, Boolean, String, StringList, Integer +#from .tag import tag_map + +class RTEMSConfig(object): + """ + Main entry point for RTEMS Config + + :param dict default: Default options. + :param list config: Default configs. + + """ + + def __init__(self, default, config): + self.default = default # Dictionary of options. + self.config = config # List of configs. +# self.config = feature # List of features. + + def options_get(self, category=False): + """ + Return sorted list of options + + :param list category: Categories + + :returns: List of options optionally limited by categories. + :rtype: list + """ + + if category: + tmp = {} + for name, option in self.default.items(): + if not set(category).isdisjoint(option.tag): + tmp[name] = option + return [v for (k, v) in sorted(tmp.items())] + + return [v for (k, v) in sorted(self.default.items())] |