HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/clquota/__pycache__/cl_quota.cpython-37.pyc
B

��dV'�@sddlmZddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z	ddlmZm
Z
ddlmZmZmZmZmZmZmZddlmZmZmZmZmZmZddd	�Zdd
d�Zdd
�Zdd�Z dd�Z!dd�Z"dd�Z#dd�Z$e%dk�re$ej&dd��dS)�)�print_function)�division)�absolute_importN)�get_boolean_param�CL_CONFIG_FILE)�QuotaWrapper�NoSuchPackageException�NoSuchUserException�IncorrectLimitFormatException�InsufficientPrivilegesException�GeneralException�QuotaDisabledException)�
print_text�	print_csv�
print_json�print_text_error�print_csv_error�print_json_errorcCsF|��dkrdSyt�|�j}t|�Stk
r@t|��YnXdS)zC
    Checks if username is valid one and returns UID as string
    �default�0N)�lower�pwd�getpwnam�pw_uid�str�KeyErrorr	)�username�uid�r�A/opt/alt/python37/lib/python3.7/site-packages/clquota/cl_quota.py�!check_username_and_convert_to_uid'sr cCsjt�d�}|�|�}|s t|��|�d�}|dkr6|Syt�t|��Wntk
rdt|��YnX|S)z<
    Checks if UID is valid one and retuns it as string
    z(\d+)�r)	�re�compile�searchr	�groupr�getpwuid�intr)r�pZpmrrr�	check_uid4s


r)cCsHt�d�}|�tj�tjjdd�}tjdd�}|�|�|�|�|S)z4
    Sets syslog logger and returns its handler
    �clquotaz/dev/log)�addressz"%(name)s:%(levelname)s %(message)s)�fmt)	�logging�	getLogger�setLevel�INFO�handlersZ
SysLogHandler�	Formatter�setFormatter�
addHandler)�loggerZ	syslogger�	formatterrrr�setup_system_logFs


r7cCs�td�tdtjdd�td�td�td�td�td�td	�td
�td�td�td
�td�td�td�td�td�td�dS)N�zUsage: rz
 [OPTIONS]z9If no options given prints quota statistics for all userszOptions:z/ -u | --user               : specifies the userz2 -U | --user-id            : specifies the user IDz� -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 limitz� -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 limitzC -V | --csv                : returns data as comma separated valuesz1 -J | --json               : returns data as jsonzE -p | --package            : specifies a package to set or get limitsz2 -P | --package-limits     : prints package limitszZ -a | --all-package-limits : prints all package limits (including packages without limits)zU -Y | --sync               : synchronizes packages and users limits with the databasezD -C | --cache-content      : cache quota data to a file the databasezR -F | --force              : save user quotas even when they are equal to defaultsz�      --check              : Deprecated. Check if quotas is enabled/activated/suported; if disabled show diagnostic information; using with --user or --user-id options)�print�sys�argvrrrr�usageSs$r<cCst�}|��|��dS)z,
    Quota synchronization
    :return:
    N)r�synchronize�save_user_cache)�qrrr�
quota_syncksr@cCs(ttddd�s$tdt�t�d�dS)zc
    Check autosynchronization parameter in config file and exit if it`s disabled
    :return:
    Zcl_quota_limits_autosyncT)�default_valz:cl-quota limits autosynchronization is disabled in config rN)rrr9r:�exitrrrr�check_autosync_disabledusrCcCs�y2t�|ddddddddd	d
ddd
ddg�\}}Wn&tjk
rXt�t�d�YnXi}d|d<d|d<d|d<d|d<d|d<d|d
<d|d<d|d<�x|D�]\}}|dkr�d|d<q�|dkr�d|d<q�|dkr�||d<q�|dkr�||d<q�|dk�r||d<q�|d k�r ||d<q�|d!k�r4||d<q�|d"k�rHd#|d<q�|d$k�r\d#|d<q�|d%k�rpd#|d
<q�|d&k�r�d|d<q�|d'k�r�d|d<q�|d(k�r�d#|d<q�|d)kr�d#|d<q�W|S)*NzPaVJYCp:u:U:S:H:Fzpackage-limitszall-package-limits�csv�jsonzpackage=zuser-id=zuser=zsoft-limit=zhard-limit=�sync�cache�check�	profilingZforcer!�soft�hard�userzuser-id�text�formatF�
force_save)z-Pz--package-limits�package)z-az--all-package-limitszall-package)z-pz	--package)z-uz--user)z-Uz	--user-id)z-Sz--soft-limit)z-Hz--hard-limit)z-Yz--syncT)z-Cz--cachez--check)z-Vz--csv)z-Jz--json)z--profiling)z-Fz--force)�getoptZGetoptErrorr<r:rB)�argv_�opts�args�config�o�arrr�
parse_argssb























rXc
Gs�ttttttd�}t|�}�y�d|kr�d|kr�t�tj	�
tj�sFdS|dr�d}t
d|�ddl}|�d|�ddl}|�|�}t
d	�t
�t
d
�|�d��d�t
d	�t
�t
d
�|�d��d�nt�dSt�}d|k�rL|d�sL|d�sL|ddk�r*||d|�d�dd�n||d|�|d�dd�dSd|k�rr||d|��dd�dSd}|d�r�t|d�}n|d�r�t|d�}|d�r�|dk	�r�t|�dk�r�|�|�|d�s�|d�r>d|k�r|ddk	�r|j|d|d|dd�dS|j||d|d|dd�dSd|k�rT|��dSd|k�rj|��dS|�r�|d�s�||d|�|�dtd�n||d|� �dtd�Wn�t!k
�r�}	z|d�r�t
t"|	��Wdd}	~	XYn�t#t$t%t&t'fk
�r:}	z$|d|d|	�t(��)|	�Wdd}	~	XYnDt*k
�r|}	z$|d|d|	�t(��+|	�Wdd}	~	XYnXdS)N)rMrDrEZerr_textZerr_csvZerr_jsonrFrGrIzquota-profiling.logzProfiling end; result saved to rzquota_sync()z&--------------------------------------zCumulative time:Zcalls�zTotal time:rPrJrKrN)�titlezall-packagerLzuser-idrH)rPrJrKrO)rrJrKrO�id)rZ�sort_keyZerr_),rrrrrrrXrC�os�path�existsr�DATAFILEr9�profile�run�pstatsZStatsZ
sort_statsZprint_statsr@�get_package_limits�get_all_packages_limitsr r)r'�_check_if_quota_enabled�set_package_limit�set_user_limitr=r>�get_user_limits�get_all_users_limitsr
rrr	rr
rr7�info�	Exception�error)
rRZoutput_dispatcherrUZprofiler_lograrcr(r?r�errr�main�s�



"




ro�__main__r!)N)N)'�
__future__rrrr]r:r"rQrr-Zlogging.handlers�cldetectlibrrr*rrr	r
rrr
Z
clquota.utilsrrrrrrr r)r7r<r@rCrXro�__name__r;rrrr�<module>s,$	 





6k