3 +'\t@sddlmZmZmZmZddlmZddlmZdddddd d gZ Gd ddeZ Gd dde Z e Z Gd dde Z Gddde ZGddde ZGdd d e ZddZdddZdS))print_functionabsolute_importdivisionunicode_literals) text_type)Anchor ScalarStringLiteralScalarStringFoldedScalarStringSingleQuotedScalarStringDoubleQuotedScalarStringPlainScalarStringPreservedScalarStringc@sDeZdZejZddZdddZeddZ dd d Z dd d Z d S)rcOs8|jdd}tj|f||}|dk r4|j|dd|S)NanchorT) always_dump)popr__new__yaml_set_anchor)clsargskwrZret_valrs/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-build-2dxytl9p/ruamel.yaml/ruamel/yaml/scalarstring.pyrs  zScalarString.__new__cCst|tj||||S)N)typerreplace)selfoldnewZ maxreplacerrrr#szScalarString.replacecCs(t|tjst|tjtt|tjS)N)hasattrrattribsetattrgetattr)rrrrr's zScalarString.anchorFcCs&t|tjsdS|s|jjr"|jSdS)N)rrr rr)ranyrrr yaml_anchor.s   zScalarString.yaml_anchorcCs||j_||j_dS)N)rvaluer)rr%rrrrr6szScalarString.yaml_set_anchorN)r&)F)F) __name__ __module__ __qualname__rr __slots__rrpropertyrr$rrrrrrs    c@seZdZdZdZdddZdS)r comment|NcCstj|||dS)N)r)rr)rr%rrrrrAszLiteralScalarString.__new__)N)r'r(r)r*stylerrrrrr <sc@seZdZdZdZdddZdS) r fold_posr,>NcCstj|||dS)N)r)rr)rr%rrrrrNszFoldedScalarString.__new__)r/r,)N)r'r(r)r*r.rrrrrr Isc@seZdZfZdZdddZdS)r 'NcCstj|||dS)N)r)rr)rr%rrrrrXsz SingleQuotedScalarString.__new__)N)r'r(r)r*r.rrrrrr Ssc@seZdZfZdZdddZdS)r "NcCstj|||dS)N)r)rr)rr%rrrrrbsz DoubleQuotedScalarString.__new__)N)r'r(r)r*r.rrrrrr ]sc@seZdZfZdZdddZdS)r NcCstj|||dS)N)r)rr)rr%rrrrrlszPlainScalarString.__new__)N)r'r(r)r*r.rrrrrr gscCst|jddjddS)Nz   )r r)srrrpreserve_literalqsr7Nc Csddlm}m}m}|dkr$dti}t||rx|D]H}||}t||rtx0|D]}||krP|||||<PqPWq4t|q4Wn\t||rxPt|D]D\}} t| |rx0|D]}|| kr||| ||<PqWqt| qWdS)a the routine here walks over a simple yaml tree (recursing in dict values and list items) and converts strings that have multiple lines to literal scalars You can also provide an explicit (ordered) mapping for multiple transforms (first of which is executed): map = ruamel.yaml.compat.ordereddict map[' '] = preserve_literal map[':'] = SingleQuotedScalarString walk_tree(data, map=map) r) string_typesMutableMappingMutableSequenceNr4)ruamel.yaml.compatr8r9r:r7 isinstance walk_tree enumerate) basemapr8r9r:kvchidxelemrrrr=vs(       r=)N) __future__rrrrr;rZruamel.yaml.anchorr__all__rr rr r r r r7r=rrrrs$  $