관리-도구
편집 파일: concrete_artifact_manager.cpython-39.pyc
a �)gKs � @ s d Z ddlmZmZmZ eZddlZddlZddl Z ddl Z ddlZddl mZ ddlmZ ddlmZ ddlmZ ddlmZ dd lmZ ejr�dd lmZmZ ddlmZ ddlm Z dd l!m"Z" ddl#m$Z$ ddlm%Z% ddl&m'Z' ddl(m)Z)m*Z*m+Z+ ddl,m-Z- ddl,m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=Z=e:� Z>dZ?G dd� d�Z@dd� ZAd d!� ZBe-e.d"d#d$d%�e$d&�d;d(d)��ZCd<d*d+�ZDd=d-d.�ZEd>d/d0�ZFd?d1d2�ZGd3d4� ZHd5d6� ZId7d8� ZJed9d:� �ZKdS )@z7Concrete collection candidate management helper module.� )�absolute_import�division�print_functionN)�contextmanager)�sha256)�URLError)� urldefrag)�rmtree)�mkdtemp)� Candidate�Requirement)�GalaxyToken)�AnsibleError)� get_collections_galaxy_meta_info)�should_retry_error)�_GALAXY_YAML)� user_agent)�to_bytes� to_native�to_text)�retry_with_delays_and_condition)�generate_jittered_backoff)�get_bin_path)�MutableMapping)� yaml_load)� raise_from)�open_url)�Display)�Sentinelz MANIFEST.jsonc @ s� e Zd ZdZd&dd�Zedd� �Zed d � �Zedd� �Zed d� �Z e j dd� �Z dd� Zdd� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zeed'd$d%���ZdS )(�ConcreteArtifactsManagera Manager for on-disk collection artifacts. It is responsible for: * downloading remote collections from Galaxy-compatible servers and direct links to tarballs or SCM repositories * keeping track of local ones * keeping track of Galaxy API tokens for downloads from Galaxy'ish as well as the artifact hashes * keeping track of Galaxy API signatures for downloads from Galaxy'ish * caching all of above * retrieving the metadata out of the downloaded artifacts TN�<