
"·T`Ã  ã               @   s‚   d  d l  Z  e  j Z Gd d „  d e  j ƒ Z e j d e j ƒ Gd d „  d e  j j ƒ Z d d „  Z	 d	 d	 d
 d d „ Z
 d S)é    Nc               @   s   e  Z d  Z d d „  Z d S)Ú_CustomSafeLoaderc             C   s   |  j  | ƒ S)N)Zconstruct_scalar)ÚselfÚnode© r   ú4/usr/lib/python3/dist-packages/cloudinit/safeyaml.pyÚconstruct_python_unicode   s    z*_CustomSafeLoader.construct_python_unicodeN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   z tag:yaml.org,2002:python/unicodec               @   s"   e  Z d  Z d Z d d „  Z d S)ÚNoAliasSafeDumperz>A class which avoids constructing anchors/aliases on yaml dumpc             C   s   d S)NTr   )r   Údatar   r   r   Úignore_aliases   s    z NoAliasSafeDumper.ignore_aliasesN)r   r	   r
   Ú__doc__r   r   r   r   r   r      s   r   c             C   s   t  j |  d t ƒS)NÚLoader)ÚyamlÚloadr   )Úblobr   r   r   r      s    r   TFc             C   sC   t  j |  d d d d d | d | d d d	 | r6 t n	 t  j j ƒS)
z%Return data in nicely formatted yaml.Z
line_breakÚ
Úindenté   Úexplicit_startÚexplicit_endZdefault_flow_styleFÚDumper)r   Údumpr   Údumperr   )Úobjr   r   Znoaliasr   r   r   Údumps!   s    r   )r   Ú	YAMLErrorZ
SafeLoaderr   Zadd_constructorr   r   Z
SafeDumperr   r   r   r   r   r   r   Ú<module>   s   	
