%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/227033/root/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/
Upload File :
Create Path :
Current File : //proc/227033/root/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyc

�
i�B^c@`sddlmZddlmZddlmZddlZddlZddlmZmZm	Z	ddl
mZddlm
Z
ddlmZdd	lmZd
dlmZd
dlmZmZmZdd
l
mZdeee�fd��YZdS(i(tabsolute_import(tprint_function(tdivisionN(tABCMetatabstractmethodtabstractproperty(t	iteritems(tbyteify(twrite_file_via_tempfile(tutilsi(tBasePkgManager(tBaseSelectorErrortENABLED_STATUStDISABLED_STATUS(twith_metaclasstBaseSelectorConfigcB`s�eZdZd�Zed��Zed��Zed��Z	e
d��Zd�Zd�Z
d�Zd	�Zd
�Zd�Zd�Ze
d
��Zejd��Zd�Zd�Zd�Zed��ZRS(sW
    Base class that responsible for all interaction with CL selector config files
    cC`s&|j�|_||_|j�dS(N(t_get_config_objecttCfgtpkgtreload(tselfR((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyt__init__s	cC`s
t��dS(s%Should return path to the config fileN(tNotImplementedError(R((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyt_config_file"scC`s
t��dS(s0Should create all needed directories for configsN(R(R((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyt_create_config_dirs'scC`sddd��Y}|S(s0Override this method to change config parametersRcB`seZdZdZdZRS(N(t__name__t
__module__tNonetdefault_versiontselector_enabledtdisabled_versions(((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyR0s(((R((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyR,scC`stjj|j�S(s6Check whether config file exists and is a regular file(tostpathtisfileR(R((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pytis_config_exists9scC`sVi}xIt|jj�D]5\}}|jd�r|dk	r|||<qqW|S(s�
        Returns underlying config as a plain dict. It will contain only
        explicitly configured options (e.g. no elements with None values)
        t__N(RRt__dict__t
startswithR(Rttmptktv((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyt_dump>s
cC`sLxEt|jj�D]1\}}|jd�st|j|d�qqWdS(s�
        Reset self.Cfg object to all None values before it will be loaded
        from file as a part of self.reload()
        R#N(RRR$R%tsetattrR(RR'R(((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyt
_reset_cfgIscC`s�|j�}|sdSyttj|��}Wn4ttfk
re}tdj|j|���nX|j	�x-t
|�D]\}}t|j||�q}WdS(Ns(Unable to parse json from {} ; Error: {}(
t_read_file_dataRtjsontloadst
ValueErrort	TypeErrorRtformatRR+RR*R(RtdataR&teR'R(((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyRRs	
cC`ss|js
dSy+t|jd��}|j�}WdQXWn4ttfk
rn}tdj|j|���nX|S(s�
        Should return:
            - whole file data for normal case
            - None if file doesn't exists
            - '' for empty file
        trbNs'Unable to read data from {} ; Error: {}(	R"RtopenRtreadtIOErrortOSErrorRR1(RtfdR2R3((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyR,as		cC`s8|js|j�ntj|j��}|j|�S(N(R"RR	tpretty_jsonR)t_write_file_data(RR2((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pytsavess	
c	C`s[y&td|d|jdddd�Wn.ttfk
rV}tdj|���nXdS(Ntcontentt	dest_pathtpermi�tsuffixt_tmps"Could not write system config ({})(RRR7R8RR1(RR2R3((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyR;zs	cC`s.||jjkr*tdj|���ndS(NsVersion "{}" is not installed(Rtinstalled_versionsRR1(Rtversion((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyt_ensure_version_installed�s	cC`s2|jjdkrtS|jjo1t|jj�S(s(Returns effective selector_enabled valueN(RRRtFalsetboolRRB(R((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyR�scC`s2|r"|jjr"td��n||j_dS(NsEIt's not allowed to enable Selector when interpreter is not installed(RRBRRR(Rtvalue((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyR�scC`s
|jjS(N(RR(R((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pytget_default_version�scC`s`|dkrd|j_dS||jjp.gkrCtd��n|j|�||j_dS(Ns;It's not allowed to set disabled version as the default one(RRRRRRD(RRC((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pytset_default_version�s
cC`s�|jj}|tkrd|dk	r�||kr�|j|�t|�dkrad|j_qaq�n|tkr�||j�kr�td��n|dkr�|g|j_q�||kr�|j	|�q�ntdj
|���dS(Nis5It's not allowed to disable currently default versionsUnknown version status: "{}"(RRRRtremovetlenR
RHRtappendR1(RRCt
new_statust
disabled_list((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pytset_version_status�s
	cC`s
t��dS(N(R(R((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pytavailable_versions�s(RRt__doc__RRRRRtstaticmethodRtpropertyR"R)R+RR,R<R;RDRtsetterRHRIRORP(((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyRs&	
											(t
__future__RRRR-RtabcRRRtfuture.utilsRtclcommon.clfuncRtsecureioRtclselectR	t
pkgmanagerR
tRRR
RtobjectR(((sM/opt/alt/python27/lib/python2.7/site-packages/clselect/baseclselect/config.pyt<module>s

Zerion Mini Shell 1.0