From 43d7973f5b54ea875d33f9c6ca2b3d365bf486de Mon Sep 17 00:00:00 2001 From: Daniel Edholm Date: Fri, 5 Apr 2024 11:57:21 +0200 Subject: [PATCH] Add '!join' tag for config parser --- invoke/vendor/yaml/constructor.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/invoke/vendor/yaml/constructor.py b/invoke/vendor/yaml/constructor.py index 619acd307..733c329be 100644 --- a/invoke/vendor/yaml/constructor.py +++ b/invoke/vendor/yaml/constructor.py @@ -413,6 +413,10 @@ def construct_yaml_map(self, node): value = self.construct_mapping(node) data.update(value) + def construct_yaml_join(self, node): + seq = self.construct_sequence(node) + return ''.join([str(i) for i in seq]) + def construct_yaml_object(self, node, cls): data = cls.__new__(cls) yield data @@ -476,6 +480,10 @@ def construct_undefined(self, node): 'tag:yaml.org,2002:map', SafeConstructor.construct_yaml_map) +SafeConstructor.add_constructor( + '!join', + SafeConstructor.construct_yaml_join) + SafeConstructor.add_constructor(None, SafeConstructor.construct_undefined)