관리-도구
편집 파일: dataclasses.cpython-39.pyc
a �)g�U � @ s� d Z ddlmZmZmZ eZddlZddlZ ddl mZ ddlm Z mZ ddlmZ ddlmZ ddlmZ e jr�dd lmZ e �d ddd �ZddlmZmZ ddlmZ ddlm Z m!Z!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z( dZ)dZ*dZ+dZ,e(� Z-dd� Z.dd� Z/dd� Z0dd� Z1d d!� Z2d"d#� Z3d$d%� Z4d&d'� Z5d(d)� Z6d*d+� Z7d,d-� Z8G d.d � d �Z9edd/�Z:edd0�Z;G d1d� de9e:�Z<G d2d� de9e;�Z=dS )3zDependency structs.� )�absolute_import�division�print_functionN)� namedtuple)�MutableSequence�MutableMapping)�iglob)�urlparse)� safe_load)�ConcreteArtifactsManager� Collection� Candidate�Requirement�_ComputedReqKindsMixin)�AnsibleError�AnsibleAssertionError)� GalaxyAPI)�to_bytes� to_native�to_text)�ArgumentSpecValidator)�AnsibleCollectionRef)�DisplayFs galaxy.ymls MANIFEST.jsons GALAXY.ymlc C s t | dd�}tj�| �sd S z8t| dd��}t|�}W d � n1 sH0 Y W nD ty� } z,t�d|� dt |dd�� �� W Y d }~d S d }~0 0 t |t �s�t�d|� d�� d S t||||�}|� r�t�d|� d �� t�d �|�� t�d� d S |S )N�surrogate_or_strict��errors�rb)�modez0Error getting collection source information at 'z': z': expected a YAML dictionaryz!Ignoring source metadata file at z due to the following errors:� z@Correct the source metadata file by reinstalling the collection.) r �os�path�isfile�openr �OSError�display�warning� isinstancer �_validate_v1_source_info_schema�join) Zb_source_info_path� namespace�name�versionZsource_info_path�fd�metadata�eZ schema_errors� r/ �T/usr/lib/python3.9/site-packages/ansible/galaxy/dependency_resolution/dataclasses.py�get_validated_source_info. s* *� r1 c C s� t t dgd�t � t � t � t tt t � t � t � t � d�d�t |gd�t | gd�t |gd�d�}t|t �s�td| � d|� d|� d t|�� ���t|�}|�|�}|jS ) Nz1.0.0)�choices)Z signatureZpubkey_fingerprintZsigning_serviceZpulp_created)�typeZ suboptions)Zformat_versionZdownload_urlZversion_urlZserver� signaturesr* r) r+ z Invalid offline source info for �.�:z, expected a dict and got )�dict�listr&