How to use the pyhocon.config_tree.UndefinedKey function in pyhocon

To help you get started, we’ve selected a few pyhocon examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github chimpler / pyhocon / pyhocon / config_tree.py View on Github external
If key is not found, default is returned if given, otherwise ConfigMissingException is raised

        This method assumes the user wants to remove the last value in the chain so it parses via parse_key
        and pops the last value out of the dict.

        :param key: key to use (dot separated). E.g., a.b.c
        :type key: basestring
        :param default: default value if key not found
        :type default: object
        :param default: default value if key not found
        :return: value in the tree located at key
        """
        if default != UndefinedKey and key not in self:
            return default

        value = self.get(key, UndefinedKey)
        lst = ConfigTree.parse_key(key)
        parent = self.KEY_SEP.join(lst[0:-1])
        child = lst[-1]

        if parent:
            self.get(parent).__delitem__(child)
        else:
            self.__delitem__(child)
        return value
github chimpler / pyhocon / pyhocon / config_tree.py View on Github external
def pop(self, key, default=UndefinedKey):
        """Remove specified key and return the corresponding value.
        If key is not found, default is returned if given, otherwise ConfigMissingException is raised

        This method assumes the user wants to remove the last value in the chain so it parses via parse_key
        and pops the last value out of the dict.

        :param key: key to use (dot separated). E.g., a.b.c
        :type key: basestring
        :param default: default value if key not found
        :type default: object
        :param default: default value if key not found
        :return: value in the tree located at key
        """
        if default != UndefinedKey and key not in self:
            return default

        value = self.get(key, UndefinedKey)
        lst = ConfigTree.parse_key(key)
        parent = self.KEY_SEP.join(lst[0:-1])
        child = lst[-1]

        if parent:
            self.get(parent).__delitem__(child)
        else:
            self.__delitem__(child)
        return value
github chimpler / pyhocon / pyhocon / config_tree.py View on Github external
def __getitem__(self, item):
        val = self.get(item)
        if val is UndefinedKey:
            raise KeyError(item)
        return val
github chimpler / pyhocon / pyhocon / config_tree.py View on Github external
    def get_config(self, key, default=UndefinedKey):
        """Return tree config representation of value found at key

        :param key: key to use (dot separated). E.g., a.b.c
        :type key: basestring
        :param default: default value if key not found
        :type default: config
        :return: config value
        :type return: ConfigTree
        """
        value = self.get(key, default)
        if isinstance(value, dict):
            return value
        elif value is None:
            return None
        else:
            raise ConfigException(
github chimpler / pyhocon / pyhocon / config_tree.py View on Github external
def _get(self, key_path, key_index=0, default=UndefinedKey):
        key_elt = key_path[key_index]
        elt = super(ConfigTree, self).get(key_elt, UndefinedKey)

        if elt is UndefinedKey:
            if default is UndefinedKey:
                raise ConfigMissingException(u"No configuration setting found for key {key}".format(key='.'.join(key_path[:key_index + 1])))
            else:
                return default

        if key_index == len(key_path) - 1:
            if isinstance(elt, NoneValue):
                return None
            elif isinstance(elt, list):
                return [None if isinstance(x, NoneValue) else x for x in elt]
            else:
                return elt
        elif isinstance(elt, ConfigTree):
            return elt._get(key_path, key_index + 1, default)
github chimpler / pyhocon / pyhocon / config_tree.py View on Github external
    def _get(self, key_path, key_index=0, default=UndefinedKey):
        key_elt = key_path[key_index]
        elt = super(ConfigTree, self).get(key_elt, UndefinedKey)

        if elt is UndefinedKey:
            if default is UndefinedKey:
                raise ConfigMissingException(u"No configuration setting found for key {key}".format(key='.'.join(key_path[:key_index + 1])))
            else:
                return default

        if key_index == len(key_path) - 1:
            if isinstance(elt, NoneValue):
                return None
            elif isinstance(elt, list):
                return [None if isinstance(x, NoneValue) else x for x in elt]
            else:
                return elt
github chimpler / pyhocon / pyhocon / config_tree.py View on Github external
    def get(self, key, default=UndefinedKey):
        """Get a value from the tree

        :param key: key to use (dot separated). E.g., a.b.c
        :type key: basestring
        :param default: default value if key not found
        :type default: object
        :return: value in the tree located at key
        """
        return self._get(ConfigTree.parse_key(key), 0, default)
github chimpler / pyhocon / pyhocon / config_tree.py View on Github external
if default is UndefinedKey:
                raise ConfigMissingException(u"No configuration setting found for key {key}".format(key='.'.join(key_path[:key_index + 1])))
            else:
                return default

        if key_index == len(key_path) - 1:
            if isinstance(elt, NoneValue):
                return None
            elif isinstance(elt, list):
                return [None if isinstance(x, NoneValue) else x for x in elt]
            else:
                return elt
        elif isinstance(elt, ConfigTree):
            return elt._get(key_path, key_index + 1, default)
        else:
            if default is UndefinedKey:
                raise ConfigWrongTypeException(
                    u"{key} has type {type} rather than dict".format(key='.'.join(key_path[:key_index + 1]),
                                                                     type=type(elt).__name__))
            else:
                return default