@@ -75,7 +75,7 @@ class BaseConstructor:
7575 yaml_constructors = {} # type: Dict[Any, Any]
7676 yaml_multi_constructors = {} # type: Dict[Any, Any]
7777
78- def __init__ (self , preserve_quotes = None , loader = None ):
78+ def __init__ (self , preserve_quotes = None , loader = None , preserve_bools = None ):
7979 # type: (Optional[bool], Any) -> None
8080 self .loader = loader
8181 if (
@@ -91,6 +91,7 @@ def __init__(self, preserve_quotes=None, loader=None):
9191 self .state_generators = [] # type: List[Any]
9292 self .deep_construct = False
9393 self ._preserve_quotes = preserve_quotes
94+ self ._preserve_bools = preserve_bools
9495 self .allow_duplicate_keys = False
9596
9697 @property
@@ -1862,8 +1863,8 @@ def construct_yaml_timestamp(self, node, values=None):
18621863 def construct_yaml_bool (self , node ):
18631864 # type: (Any) -> Any
18641865 b = SafeConstructor .construct_yaml_bool (self , node )
1865- if node .anchor :
1866- return ScalarBoolean (b , anchor = node .anchor )
1866+ if node .anchor or self . _preserve_bools :
1867+ return ScalarBoolean (b , anchor = node .anchor , orig_repr = node . value )
18671868 return b
18681869
18691870
0 commit comments