Ejemplo n.º 1
0
def regex_representer(dumper: yaml.SafeDumper,
                      regex:  re.Pattern) -> yaml.nodes.Node:
    '''
    Returns a string for the regex pattern.
    '''
    if isinstance(regex, re.Pattern):
        regex = regex.pattern
    return dumper.represent_scalar('!regex', regex)
Ejemplo n.º 2
0
def _repr_str(dumper: SafeDumper, data: str) -> ScalarNode:
    if len(data.splitlines()) > 1:
        style = "|"
    elif display_width(data, tabsize=_TAB) > _WIDTH:
        style = ">"
    else:
        style = ""
    node = dumper.represent_scalar("tag:yaml.org,2002:str", data, style=style)
    return node
Ejemplo n.º 3
0
 def repr_str(dumper: SafeDumper, data: str) -> ScalarNode:
     if len(data.splitlines()) > 1:
         style = "|"
     elif len(data) > break_pt:
         style = ">"
     else:
         style = ""
     node: ScalarNode = dumper.represent_scalar(
         "tag:yaml.org,2002:str", data, style=style
     )
     return node
Ejemplo n.º 4
0
def _stats_config_representer(
        dumper: yaml.SafeDumper,
        stats_config: StatsStorageConfig) -> yaml.nodes.ScalarNode:
    """Returns a scalar representer that instructs PyYAML how to serialize a StatsStorageConfig instance
    to an "arg string" in the format of "<STORAGE_TYPE>:<RUNNING_ENVIRONMENT>:<TAG>:<PATH_OR_BUCKET>".

    Args:
        dumper (yaml.SafeDumper): PyYAML's default SafeDumper instance
        stats_config (StatsStorageConfig): An instance of StatsStorageConfig to serialize

    Returns:
        yaml.nodes.ScalarNode: A scalar YAML node representing a StatsStorageConfig instance
    """
    return dumper.represent_scalar('!StatsConfig', stats_config.to_arg_str())
Ejemplo n.º 5
0
def fix_newline_yaml_shenanigans(dumper: yaml.SafeDumper, data: str) -> str:
    if '\n' in data:
        return dumper.represent_scalar(u'tag:yaml.org,2002:str', data, style='|')
    return dumper.original_represent_str(data)