관리-도구
편집 파일: constructor.cpython-39.opt-1.pyc
a �����)gQ����������������������@���s��d�dl�mZmZmZ�eZd�dlmZmZ�d�dl m Z �d�dlmZ �d�dlmZmZ�d�dlmZmZmZmZ�d�dlmZ�d�dlmZ�d�d lmZ�e��ZG�d d��de�Ze�dej��e�d ej��e�dej ��e�dej ��e�dej!��e�dej"��e�dej#��e�dej#��dS�)�����)�absolute_import�division�print_function)�SafeConstructor�ConstructorError)�MappingNode)� constants)�to_bytes� to_native)�AnsibleMapping�AnsibleSequence�AnsibleUnicode�AnsibleVaultEncryptedUnicode)�VaultLib)�Display)�wrap_varc�����������������������sX���e�Zd�Zd��fdd� Zdd��Zddd�Zd d ��Zdd��Zd d��Zdd��Z dd��Z ���ZS�)�AnsibleConstructorNc��������������������s:���||�_�tt|������i�|�_|p g�|�_t|�jd�|�jd<�d�S�)N)�secrets�default)�_ansible_file_name�superr����__init__�_vaults� vault_secretsr���)�self� file_namer����� __class__���D/usr/lib/python3.9/site-packages/ansible/parsing/yaml/constructor.pyr���$���s ���� zAnsibleConstructor.__init__c�����������������c���s0���t���}|V��|��|�}|�|��|��|�|_d�S��N)r����construct_mapping�update�_node_position_info�ansible_pos)r����node�data�valuer���r���r����construct_yaml_map+���s ���� z%AnsibleConstructor.construct_yaml_mapFc����������� ������C���s��t�|t�s td�d�d|j�|j��|��|��t��}|��|�|_|j D�]�\}}|�j ||d�}zt|��W�n:�ty��}�z"td|jd|�|j��W�Y�d�}~n d�}~0�0�||v��rdj |g|j�R���}tjdkr�t�|��n.tjdkr�td�d�t|�|jd�d��n t�|��|�j ||d�} | ||<�qB|S�) Nz%expected a mapping node, but found %s)�deepzwhile constructing a mappingzfound unacceptable key (%s)z}While constructing a mapping from {1}, line {2}, column {3}, found a duplicate dict key ({0}). Using last defined value only.�warn�error��contextZcontext_markZproblemZproblem_markZnote)� isinstancer���r����id� start_markZflatten_mappingr���r#���r$���r'����construct_object�hash� TypeError�format�CZDUPLICATE_YAML_DICT_KEY�displayZwarningr ����debug) r���r%���r)����mappingZkey_nodeZ value_node�key�exc�msgr'���r���r���r���r!���2���sD���� � � �� � z$AnsibleConstructor.construct_mappingc�����������������C���s"���|���|�}t|�}|��|�|_|S�r ���)�construct_scalarr ���r#���r$���)r���r%���r'����retr���r���r����construct_yaml_str[���s���� z%AnsibleConstructor.construct_yaml_strc�����������������C���sX���|���|�}t|�}|�jd�}|jd�u�r:td�d�d|jd�d��t|�}||_|��|�|_ |S�)Nr���z+found !vault but no vault password providedr,���) r<���r ���r���r���r���r0���r����vaultr#���r$���)r���r%���r'���Zb_ciphertext_datar?���r=���r���r���r����!construct_vault_encrypted_unicodee���s���� �z4AnsibleConstructor.construct_vault_encrypted_unicodec�����������������c���s,���t���}|V��|�|��|���|��|�|_d�S�r ���)r����extendZconstruct_sequencer#���r$���)r���r%���r&���r���r���r����construct_yaml_sequ���s����z%AnsibleConstructor.construct_yaml_seqc�����������������C���sP���z&t�|dd�}|d�ur$t�|�d|��}W�n�ty>���|�j}Y�n0�||�}t|�S�)Nr/����objectzconstruct_%s)�getattr�AttributeErrorr1���r���)r���r%����constructorr'���r���r���r����construct_yaml_unsafe{���s����z(AnsibleConstructor.construct_yaml_unsafec�����������������C���s0���|j�jd�}|j�jd�}|�jp$|j�j}|||fS�)N����)r0����column�liner����name)r���r%���rI���rJ���Z datasourcer���r���r���r#�������s����z&AnsibleConstructor._node_position_info)NN)F)�__name__� __module__�__qualname__r���r(���r!���r>���r@���rB���rG���r#���� __classcell__r���r���r���r���r���#���s��� ) r���ztag:yaml.org,2002:mapztag:yaml.org,2002:python/dictztag:yaml.org,2002:strz tag:yaml.org,2002:python/unicodeztag:yaml.org,2002:seqz!unsafez!vaultz!vault-encryptedN)$Z __future__r���r���r����typeZ __metaclass__Zyaml.constructorr���r���Z yaml.nodesr���Zansibler���r5���Zansible.module_utils._textr ���r ���Zansible.parsing.yaml.objectsr���r���r ���r���Zansible.parsing.vaultr���Zansible.utils.displayr���Zansible.utils.unsafe_proxyr���r6���r���Zadd_constructorr(���r>���rB���rG���r@���r���r���r���r����<module>���sP���s�������