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)
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
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
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())
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)