Example #1
0
    Dumper.add_multi_representer(long, Dumper.represent_long)  # pylint: disable=incompatible-py3-code,undefined-variable
else:
    Dumper.add_multi_representer(six.binary_type, Dumper.represent_binary)
    Dumper.add_multi_representer(six.text_type, Dumper.represent_str)
Dumper.add_multi_representer(bool, Dumper.represent_bool)
Dumper.add_multi_representer(int, Dumper.represent_int)
Dumper.add_multi_representer(float, Dumper.represent_float)
Dumper.add_multi_representer(list, Dumper.represent_list)
Dumper.add_multi_representer(tuple, Dumper.represent_list)
Dumper.add_multi_representer(
    dict, Dumper.represent_odict
)  # make every dict like obj to be represented as a map
Dumper.add_multi_representer(set, Dumper.represent_set)
Dumper.add_multi_representer(datetime.date, Dumper.represent_date)
Dumper.add_multi_representer(datetime.datetime, Dumper.represent_datetime)
Dumper.add_multi_representer(None, Dumper.represent_undefined)
Dumper.add_representer(
    ThreadLocalProxy, lambda dumper, proxy: dumper.represent_data(
        ThreadLocalProxy.unproxy(proxy)))


def merge_recursive(obj_a, obj_b, level=False):
    """
    Merge obj_b into obj_a.
    """
    return aggregate(obj_a,
                     obj_b,
                     level,
                     map_class=AggregatedMap,
                     sequence_class=AggregatedSequence)
Example #2
0
 def _enc_func(obj):
     obj = ThreadLocalProxy.unproxy(obj)
     return orig_enc_func(obj)
Example #3
0
Loader.add_multi_constructor("tag:yaml.org,2002:str", Loader.construct_yaml_str)
Loader.add_multi_constructor("tag:yaml.org,2002:seq", Loader.construct_yaml_seq)
Loader.add_multi_constructor("tag:yaml.org,2002:map", Loader.construct_yaml_map)


class Dumper(BaseDumper):  # pylint: disable=W0232
    """Overwrites Dumper as not for pollute legacy Dumper"""


Dumper.add_multi_representer(EncryptedString, EncryptedString.yaml_dumper)
Dumper.add_multi_representer(type(None), Dumper.represent_none)
Dumper.add_multi_representer(str, Dumper.represent_str)
if six.PY2:
    Dumper.add_multi_representer(six.text_type, Dumper.represent_unicode)
    Dumper.add_multi_representer(int, Dumper.represent_long)
Dumper.add_multi_representer(bool, Dumper.represent_bool)
Dumper.add_multi_representer(int, Dumper.represent_int)
Dumper.add_multi_representer(float, Dumper.represent_float)
Dumper.add_multi_representer(list, Dumper.represent_list)
Dumper.add_multi_representer(tuple, Dumper.represent_list)
Dumper.add_multi_representer(dict, Dumper.represent_dict)
Dumper.add_multi_representer(set, Dumper.represent_set)
Dumper.add_multi_representer(datetime.date, Dumper.represent_date)
Dumper.add_multi_representer(datetime.datetime, Dumper.represent_datetime)
Dumper.add_multi_representer(None, Dumper.represent_undefined)
Dumper.add_multi_representer(OrderedDict, Dumper.represent_dict)
Dumper.add_representer(
    ThreadLocalProxy,
    lambda dumper, proxy:
        dumper.represent_data(ThreadLocalProxy.unproxy(proxy)))