관리-도구
편집 파일: manager.cpython-39.opt-1.pyc
a �)g2s � @ st d dl mZmZmZ eZd dlZd dlZd dlZd dl Z d dl Z d dlZd dlm Z d dlmZ d dlmZ d dlmZmZmZ d dlmZ d dlmZ d d lmZmZ d d lmZ d dl m!Z! d dl"m#Z# d d l$m%Z% d dl&m'Z' d dl(m)Z) d dl*m+Z+ e'� Z,g d�Z-dd� ej.D �Z/dd� ej0D �Z1e �2d�3e-e/ e1 ��Z4e �2de j5�Z6dd� Z7dd� Z8G dd� de9�Z:dS )� )�absolute_import�division�print_functionN)� attrgetter)�shuffle)� constants)�AnsibleError�AnsibleOptionsError�AnsibleParserError)� InventoryData)�string_types)�to_bytes�to_text)� parse_address)�inventory_loader)�deduplicate_list)�unfrackpath)�Display)�combine_vars)�get_vars_from_inventory_sources)s ^\.s ^host_vars$s ^group_vars$s ^vars_plugins$c C s g | ]}t |��qS � )r ��.0�xr r �=/usr/lib/python3.9/site-packages/ansible/inventory/manager.py� <listcomp>0 � r c C s g | ]}d t t�|�� �qS )s %s$)r �re�escaper r r r r 1 r � |a> ^ (.+) # A pattern expression ending with... \[(?: # A [subscript] expression comprising: (-?[0-9]+)| # A single positive or negative number ([0-9]+)([:-]) # Or an x:y or x: range. ([0-9]*) )\] $ c C sp g }g }g }| D ]D}|sq|d dkr2|� |� q|d dkrJ|� |� q|� |� q|g krddg}|| | S )zS takes a list of patterns and reorders them by modifier to apply them consistently r �!�&�all)�append)�patternsZpattern_regularZpattern_intersectionZpattern_exclude�pr r r �order_patternsB s r&