%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python27/lib/python2.7/site-packages/clquota/
Upload File :
Create Path :
Current File : //opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pyc

�
i�B^c@`shddlmZddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z	ddlmZm
Z
ddlmZmZmZmZmZmZmZddlmZmZmZmZmZdd�Zdd	�Zd
�Zd�Z d�Z!d
�Z"d�Z#d�Z$e%dkrde$ej&d�ndS(i(tprint_function(tdivision(tabsolute_importN(tget_boolean_paramtCL_CONFIG_FILE(tQuotaWrappertNoSuchPackageExceptiontNoSuchUserExceptiontIncorrectLimitFormatExceptiontInsufficientPrivilegesExceptiontGeneralExceptiontQuotaDisabledException(t
print_textt	print_csvt
print_jsontprint_text_errortprint_csv_errorcC`sZ|j�dkrdSy tj|�j}t|�SWntk
rUt|��nXdS(sC
    Checks if username is valid one and returns UID as string
    tdefaultt0N(tlowertpwdtgetpwnamtpw_uidtstrtKeyErrorR(tusernametuid((sA/opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pyt!check_username_and_convert_to_uid"s
cC`s�tjd�}|j|�}|s3t|��n|jd�}|dkrR|Sytjt|��Wntk
r�t|��nX|S(s<
    Checks if UID is valid one and retuns it as string
    s(\d+)iR(	tretcompiletsearchRtgroupRtgetpwuidtintR(Rtptpm((sA/opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pyt	check_uid/s
cC`sdtjd�}|jtj�tjjdd�}tjdd�}|j|�|j|�|S(s4
    Sets syslog logger and returns its handler
    tclquotataddresss/dev/logtfmts"%(name)s:%(levelname)s %(message)s(	tloggingt	getLoggertsetLeveltINFOthandlerst
SysLogHandlert	FormattertsetFormattert
addHandler(tloggert	sysloggert	formatter((sA/opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pytsetup_system_logAs

cC`s�td�tdtjdd�td�td�td�td�td�td	�td
�td�td�td
�td�td�td�td�td�td�dS(NtsUsage: is
 [OPTIONS]s9If no options given prints quota statistics for all userssOptions:s/ -u | --user               : specifies the users2 -U | --user-id            : specifies the user IDs� -S | --soft-limit         : sets the soft limit for a user. Pass 0 or 'default' to set package default limit. Pass -1 or 'unlimited' to cancel limits� -H | --hard-limit         : sets the hard limit for a user. Pass 0 or 'default' to set package default limit. Pass -1 or 'unlimited' to cancel limitsC -V | --csv                : returns data as comma separated valuess1 -J | --json               : returns data as jsonsE -p | --package            : specifies a package to set or get limitss2 -P | --package-limits     : prints package limitssZ -a | --all-package-limits : prints all package limits (including packages without limits)sU -Y | --sync               : synchronizes packages and users limits with the databasesD -C | --cache-content      : cache quota data to a file the databasesR -F | --force              : save user quotas even when they are equal to defaultss�      --check              : Deprecated. Check if quotas is enabled/activated/suported; if disabled show diagnostic information; using with --user or --user-id options(tprinttsystargv(((sA/opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pytusageNs$















cC`s!t�}|j�|j�dS(s,
    Quota synchronization
    :return:
    N(Rtsynchronizetsave_user_cache(tq((sA/opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pyt
quota_syncfs	
cC`s7ttddt�s3tdt�tjd�ndS(sc
    Check autosynchronization parameter in config file and exit if it`s disabled
    :return:
    tcl_quota_limits_autosynctdefault_vals:cl-quota limits autosynchronization is disabled in config iN(RRtTrueR6R7texit(((sA/opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pytcheck_autosync_disabledpscC`sCyItj|ddddddddd	d
ddd
ddg�\}}Wn(tjk
rst�tjd�nXi}d|d<d|d<d|d<d|d<d|d<t|d
<t|d<t|d<xr|D]j\}}|d4kr�d|d<q�|d5krd|d<q�|d6kr(||d<q�|d7krA||d<q�|d8krZ||d<q�|d9krs||d<q�|d:kr�||d<q�|d;kr�t|d<q�|d<kr�t|d<q�|d,kr�t|d
<q�|d=kr�d|d<q�|d>kr	d|d<q�|d?kr"t|d<q�|d@kr�t|d<q�q�W|S(ANsPaVJYCp:u:U:S:H:Fspackage-limitssall-package-limitstcsvtjsonspackage=suser-id=suser=ssoft-limit=shard-limit=tsynctcachetcheckt	profilingtforceitsoftthardtusersuser-idttexttformatt
force_saves-Ps--package-limitstpackages-as--all-package-limitssall-packages-ps	--packages-us--users-Us	--user-ids-Ss--soft-limits-Hs--hard-limits-Ys--syncs-Cs--caches--checks-Vs--csvs-Js--jsons--profilings-Fs--force(s-Ps--package-limits(s-as--all-package-limits(s-ps	--package(s-us--user(s-Us	--user-id(s-Ss--soft-limit(s-Hs--hard-limit(s-Ys--sync(s-Cs--cache(s-Vs--csv(s-Js--json(s--profiling(s-Fs--force(tgetopttGetoptErrorR9R7RAtNonetFalseR@(targv_toptstargstconfigtota((sA/opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pyt
parse_argszsb	




















c

G`s-itd6td6td6td6td6td6}t|�}yQd|kr<d|kr<t�tjj	t
j�swdS|d	r1d
}td|�ddl
}|jd
|�ddl}|j|�}td�t�td�|jd�jd�td�t�td�|jd�jd�nt�dSt
�}d|kr�|dpb|dr�|ddkr�||d|jd�dd�n%||d|j|d�dd�dSd|kr�||d|j�dd�dSd}|drt|d�}n|dr1t|d�}n|dri|dk	rit|�dkri|j|�n|ds}|dr�d|kr�|ddk	r�|jd|dd|dd|d�dS|jd|d|dd|dd|d�dSd|kr|j�dSd|kr+|j�dS|rh|ds�||d|j|�dddt�q�n$||d|j �dddt�Wn�t!k
r�}	|dr)tt"|	��q)njt#t$t%t&t'fk
r}	|d |d|	�t(�j)|	�n#t*k
r(}	t(�j+|	�nXdS(!NRMRCRDterr_textterr_csvterr_jsonRERFRHsquota-profiling.logsProfiling end; result saved to isquota_sync()s&--------------------------------------sCumulative time:tcallsisTotal time:RPRJRKRNttitlesall-packageRLsuser-idRGRROtidtsort_keyterr_(,RR
RRRR[RBtostpathtexistsRtDATAFILER6tprofiletruntpstatstStatst
sort_statstprint_statsR=RStget_package_limitstget_all_packages_limitsRR$R!t_check_if_quota_enabledtset_package_limittset_user_limitR:R;tget_user_limitstget_all_users_limitsRRRRR	RR
R4tinfot	Exceptionterror(
RUtoutput_dispatcherRXtprofiler_logRhRjR"R<Rte((sA/opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pytmain�s�





	!$

(	

#



t__main__i('t
__future__RRRRdR7RRQRR(tlogging.handlerstcldetectlibRRR%RRRRR	R
Rt
clquota.utilsRR
RRRRSRR$R4R9R=RBR[R{t__name__R8(((sA/opt/alt/python27/lib/python2.7/site-packages/clquota/cl_quota.pyt<module>s,4(
	
		
	
	6	j

Zerion Mini Shell 1.0