Example #1
0
def regex_constructor(loader: yaml.SafeLoader,
                      node:   yaml.nodes.Node) -> re.Pattern:
    '''
    Returns the regex pattern.
    '''
    value = loader.construct_scalar(node)
    return re.compile(value)
Example #2
0
    def __call__(self, loader: SafeLoader, node: Node) -> str:
        """ Implement the tag constructor interface.

        :param loader: YAML loader
        :param node: YAML node to process
        :return: final value
        """
        value = loader.construct_scalar(node)
        return Template(value).substitute(self._params)
Example #3
0
def _stats_config_constructor(
        loader: yaml.SafeLoader,
        node: yaml.nodes.ScalarNode) -> StatsStorageConfig:
    """Returns a scalar constructor that instructs PyYAML how to deserialize a StatsStorageConfig
    instance from an "arg string" in the format of "<STORAGE_TYPE>:<RUNNING_ENVIRONMENT>:<TAG>:<PATH_OR_BUCKET>".

    Args:
        loader (yaml.SafeLoader): PyYAML's default SafeLoader instance
        node (yaml.nodes.ScalarNode): A YAML scalar node with a string value representing a StatsStorageConfing instance

    Returns:
        StatsStorageConfig: A StatsStorageConfig instance deserialized from its string scalar representation
    """
    return StatsStorageConfig.from_arg_str(loader.construct_scalar(node))
Example #4
0
def parent_constructor(loader: SafeLoader, node: Node):
    result = attrgetter(loader.construct_scalar(node))(_data)
    return result