File: //proc/self/root/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyc
�
i�B^c @` s� d d l m Z d d l m Z d d l m Z d d l Z d d l m Z d d l m Z d d l m
Z
d d l m Z d
e e f d � � YZ
d S( i ( t absolute_import( t print_function( t divisionNi ( t ClExtSelect( t ClUserSelect( t ClSelectExcept( t clprintt ClUserExtSelectc B` s� e Z d Z d d d � Z d d � Z d d � Z d � Z d � Z d � Z e
d � Z d � Z d
� Z
d � Z d � Z d
� Z e e � Z d � Z e e � Z d � Z d � Z RS( s alt_php.init phpc C` s2 t j | | | � d | _ g | _ g | _ d S( N( R t __init__t Nonet _alt_extensionst _user_extensionst
_conflicts( t selft itemt exclude_pid_list( ( sI /opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR s c C` su | j | � | d k r/ | j | � d } n | d k rM t j | � � n t t d � t | j | | � � � � S( s�
Returns enabled user extensions for a version as a tuple
@param user: string
@param version: string
@return: tuple
i t nativec S` s
| t f S( N( t True( t i( ( sI /opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyt <lambda>( t N( t _check_user_in_cagefsR
t get_versionR t UnableToGetExtensionst tuplet mapt sortedt _get_enabled_extensions( R t usert version( ( sI /opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyt list_enabled_extensions s
c C` s� | j | � | d k r/ | j | � d } n | d k rM t j | � � n | j | | � } | j | � } g } xB t | � D]4 } t } | | k r� t } n | j
| | f � q� Wt | � S( s�
Returns as a tuple all user extensions for a version,
marking enabled and disabled ones
@param user: string
@param version: string
@return: tuple
i R N( R R
R R R R t _get_all_extensionsR t FalseR t appendR ( R R R t user_extensionst all_extensionst
extensionst extt enabled( ( sI /opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyt list_all_extensions+ s
c C` s/ t | j � d k r( | j | | � n | j S( s�
Returns list of enabled user extensions
@param user: string
@param version: string
@return: list
i ( t lenR t _load_user_extensions( R R R ( ( sI /opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR B s c C` s+ | j d k r$ | j | � | _ n | j S( s�
Returns list of all extensions for a version
@param user: string
@param version: string
@return: list
N( R R
t _load_extensions_list( R R ( ( sI /opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR M s c C` sO | j | � } t | � j t | � � } | rK t j d | d | � � n d S( si
validation extensions name
@param ext_list: list
@param version: string
t ext_listR$ N( R t sett
differenceR t NoSuchExtension( R R, R R$ t bad_extensions( ( sI /opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyt _check_extensionsX s c ` s� | j | � | r, | j d | d | � n | j | | � } | j | � } | j | � \ } } } t | j � � | }
| j |
� } t j |
| � } | j
| � g | | D] }
|
| k r� |
^ q� } g � xm | D]e }
t t � f d � | j |
g | | � � � } t j
|
| | � } | j | � � j | � q� Wx( � D] }
| j | j | |
� � qOW| j | � } | j | d j | � d | � | j | � | j | � d S( s�
Adds extensions to user php.ini
@param user: string
@param version: string
@param ext_list: list
@param check_ext: bool
@return: None
R, R c ` s
| � k S( N( ( R ( t resolved_dependencies( sI /opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR y R s
N( R R1 t _compose_user_ini_patht _compose_alt_patht _load_ini_contentst listt keyst _check_for_conflictsR t get_conflicts_infot _print_conflicts_infot filtert _include_dependenciest get_dependencies_listt _print_dependencies_infot extendt _smooth_datat _move_ioncube_extt _write_to_filet joint _backup_settingst _reload_processes( R R R R, t check_extt
user_ini_patht alt_patht contentsR% t extensions_datat resulting_extensionst ext_datat _conflicts_infoR&