HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/jenkins.cpython-310.pyc
o

�N�gH
�@szdZddlZddlZddlZddlmmZddlZ	ddl
Z	ddlmZe�
e�Zdd�Zdd�Zddd	�Zd
d�ZdS)
zJ
Management of Jenkins
=====================

.. versionadded:: 2016.3.0

�N)�CommandExecutionErrorcCsl|j|jkrdS|j|jkrdS|j|jkrdS|j|jkr dSt|�t|�kr*dStdd�t||�D��S)NFcss�|]
\}}t||�VqdS�N)�_elements_equal)�.0Zc1Zc2�r�G/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/jenkins.py�	<genexpr>"s�z"_elements_equal.<locals>.<genexpr>)�tag�text�tailZattrib�len�all�zip)�e1�e2rrrrsrcCs||d<d|d<|S)N�commentF�resultr)�ret�msgrrr�_fail%src

Ks*|did|�d�gd�}td|�r�td|�}t�|�}t�|���}td|t�}tjj	�
|��}t�tjj�|����}	Wd�n1sIwYt
||	�s�tjtj|d	d
d�tj|	d	d
d�dd
�}
z
td||t�Wnty�}zt||j�WYd}~Sd}~wwd�|
�|d<|d�d|�d��nmtd|t�}tjj	�
|��}tjj�|���}Wd�n1s�wYz
td||t�Wnty�}zt||j�WYd}~Sd}~wwt�|�}tjd|��dd
�}
d�|
�|d|<|d�d|�d��d�|d�|d<|S)z�
    Ensure the job is present in the Jenkins configured jobs

    name
        The unique name for the Jenkins job

    config
        The Salt URL for the file to use for configuring the job
    TzJob z is up to date.��namer�changesr�jenkins.job_existszjenkins.get_job_configz
cp.cache_fileN�utf8Zxml)�encoding�method�)Zlinetermzjenkins.update_jobrr�Job 'z
' updated.zjenkins.create_jobz' added.�
)�__salt__�io�StringIO�ETZ
fromstring�readZ__env__�salt�utils�filesZfopenZstringutilsZ
to_unicoder�difflibZunified_diffZtostringlistrr�strerror�join�append�	readlines)
rZconfig�kwargsrZ_current_job_config�bufZoldXMLZcached_source_path�_fpZnewXML�diff�excZnew_config_xmlrrr�present+sX�
�
�������
r2c
Ks�|digd�}td|�r8ztd|�Wnty-}zt||j�WYd}~Sd}~wwd|�d�|d<|Sd|�d	�|d<|S)
z{
    Ensure the job is absent from the Jenkins configured jobs

    name
        The name of the Jenkins job to remove
    Trrzjenkins.delete_jobNrz
' deleted.rz' already absent.)r rrr))rr-rr1rrr�absentfs���r3r)�__doc__r(r!�loggingZxml.etree.ElementTreeZetreeZElementTreer#Zsalt.utils.filesr%Zsalt.utils.stringutilsZsalt.exceptionsr�	getLogger�__name__�logrrr2r3rrrr�<module>s

;