HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/local/lib/python3.9/site-packages/celery/app/__pycache__/utils.cpython-39.pyc
a

X>hs3�@s�dZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZddl
mZddlmZdd	lmZdd
lmZddlmZmZmZddlmZd
dlmZmZmZmZm Z m!Z!m"Z"dZ#dZ$e�%dej&�Z'dZ(dZ)dZ*dd�Z+Gdd�de�Z,ej-fdd�Z.ej-fdd�Z/edd�Z0e0e ee/e(�Z1e0eee.e)�Z2d-dd �Z3Gd!d"�d"�Z4d#d$�Z5d%d&�Z6d'd(�Z7d)d*�Z8eefd+d,�Z9dS).z?App utilities: Compat settings, bug-report tool, pickling apps.�N)�
namedtuple)�Mapping)�deepcopy)�
ModuleType)�maybe_sanitize_url)�ImproperlyConfigured)�pyimplementation)�ConfigurationView)�import_from_cwd�qualname�symbol_by_name��pretty�)�
_OLD_DEFAULTS�_OLD_SETTING_KEYS�_TO_NEW_KEY�_TO_OLD_KEY�DEFAULTS�SETTING_KEYS�find)�Settings�appstr�	bugreport�filter_hidden_settings�find_appa 
software -> celery:{celery_v} kombu:{kombu_v} py:{py_v}
            billiard:{billiard_v} {driver_v}
platform -> system:{system} arch:{arch}
            kernel version:{kernel_version} imp:{py_i}
loader   -> {loader}
settings -> transport:{transport} results:{results}

{human_settings}
zHAPI|TOKEN|KEY|SECRET|PASS|PROFANITIES_LIST|SIGNATURE|DATABASE|BEAT_DBURIzk

Cannot mix new and old setting keys, please rename the
following settings to the new format:

{renames}

z�

Cannot mix new setting names with old setting names, please
rename the following settings to use the old format:

{renames}

Or change all of the settings to use the new format :)

z{replace:<36} -> {with_}cCs|jpd�dt|�d��S)z1String used in __repr__ etc, to id app instances.�__main__z at z#x)�main�id)�app�r �:/usr/local/lib/python3.9/site-packages/celery/app/utils.pyrAsrcs�eZdZdZdd��fdd�
Zedd��Zedd	��Zed
d��Zedd
��Z	edd��Z
edd��Zedd��Zdd�Z
dd�Zd*dd�Zd+dd�Zdd�Zd d!�Zd,d$d%�Zd-d&d'�Zd(d)�Z�ZS).rzsCelery settings object.

    .. seealso:

        :ref:`configuration` for a full list of configuration keys.

    N)�deprecated_settingscst�j|i|��||_dS�N)�super�__init__r")�selfr"�args�kwargs��	__class__r r!r%OszSettings.__init__cCstj�d�p|�d�p|jS)NZCELERY_BROKER_READ_URL�broker_read_url��os�environ�get�
broker_url�r&r r r!r+Ts
��zSettings.broker_read_urlcCstj�d�p|�d�p|jS)NZCELERY_BROKER_WRITE_URL�broker_write_urlr,r1r r r!r2\s
��zSettings.broker_write_urlcCstj�d�p|�dd�S)NZCELERY_BROKER_URLr0Zbroker_host�r-r.r/�firstr1r r r!r0ds
�zSettings.broker_urlcCstj�d�p|�dd�S)NZCELERY_RESULT_BACKEND�result_backendr3r1r r r!r5ks
�zSettings.result_backendcCs|�dd�S)N�task_default_exchange�task_default_queue�r4r1r r r!r6rs�zSettings.task_default_exchangecCs|�dd�S)N�task_default_routing_keyr7r8r1r r r!r9ys�z!Settings.task_default_routing_keycCs|�dd�S)N�timezoneZ	TIME_ZONEr8r1r r r!r:�szSettings.timezonecCsti|jdd��S)z7Return the current configuration, but without defaults.N���)r�mapsr1r r r!�without_defaults�szSettings.without_defaultscCs||��vSr#)r=)r&�keyr r r!�
value_set_for�szSettings.value_set_for�cCs
t||�S)a�Search for option by name.

        Example:
            >>> from proj.celery import app
            >>> app.conf.find_option('disable_rate_limits')
            ('worker', 'prefetch_multiplier',
             <Option: type->bool default->False>))

        Arguments:
            name (str): Name of option, cannot be partial.
            namespace (str): Preferred name-space (``None`` by default).
        Returns:
            Tuple: of ``(namespace, key, type)``.
        )r�r&�name�	namespacer r r!�find_option�szSettings.find_option�celerycCs|j|�||�dd��S)z6Shortcut to ``get_by_parts(*find_option(name)[:-1])``.Nr;)�get_by_partsrDrAr r r!�find_value_for_key�szSettings.find_value_for_keycGs|d�dd�|D��S)z�Return the current value for setting specified as a path.

        Example:
            >>> from proj.celery import app
            >>> app.conf.get_by_parts('worker', 'disable_rate_limits')
            False
        �_css|]}|r|VqdSr#r )�.0�partr r r!�	<genexpr>��z(Settings.get_by_parts.<locals>.<genexpr>)�join)r&�partsr r r!rF�szSettings.get_by_partscCs$z|dWntyYn0|S)NZ	__bogus__)�KeyErrorr1r r r!�finalize�s
zSettings.finalizeFTcsJ|rtndd�}tt��|��|r(|n|��}|�fdd�|��D��S)NcSs|Sr#r )�vr r r!�<lambda>�rLz Settings.table.<locals>.<lambda>cs(i|] \}}|�d�s|�vr||�qS)rH)�
startswith�rI�krQ�Zdict_membersr r!�
<dictcomp>�s�z"Settings.table.<locals>.<dictcomp>)r�dir�dictrPr=�items)r&�
with_defaults�censoredZfilt�settingsr rVr!�table�s�zSettings.tablecCs d�dd�|�||���D��S)z;Return a human readable text showing configuration changes.�
css(|] \}}|�dt|dd���VqdS)z: �2)�widthNr
)rIr>�valuer r r!rK�s�z$Settings.humanize.<locals>.<genexpr>)rMr^rZ)r&r[r\r r r!�humanize�s
�zSettings.humanizecCsV|jrRddlm}ddlm}|jD](}|jd|�d�dd||�d�d	�q$d
SdS)Nr)r)�
deprecatedzThe z settingz6.0.0zUse the z instead)�descriptionZremoval�alternativeTF)r"Zcelery.app.defaultsrZcelery.utilsrd�warn)r&rrdZsettingr r r!�maybe_warn_deprecated_settings�s
�z'Settings.maybe_warn_deprecated_settings)r@)rE)FT)FT)�__name__�
__module__�__qualname__�__doc__r%�propertyr+r2r0r5r6r9r:r=r?rDrGrFrPr^rcrh�
__classcell__r r r)r!rFs2









	


rcCs
|||�Sr#r �r>�convertr r r!�_new_key_to_old�srqcCs
|||�Sr#r ror r r!�_old_key_to_new�srrZsettings_info_t)�defaultsrpZkey_t�	mix_errorcsr|sin|}|st�n|}|s"tn|}|s.tn|}|}|durH|i}}t|���|���|�}��|�}d�|r�t|�}	|r�t|�t|�kr�t|�}	|rΈs�t|�}	|r�t|�t|�kr�t|�}	n
t|�}	|r�tt��}	��fdd�|	D�}
|
�r,t�j	j
d��fdd�t|
�D��d����fdd�|�
�D�}tt�j�fi|��}t|||gttf||d	�S)
Ncsh|]}�j|�vr|�qSr )rp�rIr>�Zhave�infor r!�	<setcomp>rLz"detect_settings.<locals>.<setcomp>r_c3s"|]}tj|�j|d�VqdS))�replaceZwith_N)�FMT_REPLACE_SETTING�formatrpru�rwr r!rKs�z"detect_settings.<locals>.<genexpr>)�renamescs i|]\}}�j�||�|�qSr )rpr/rTr|r r!rWrLz#detect_settings.<locals>.<dictcomp>)r"�prefix)�setrr�keys�intersection�_settings_info�len�_old_settings_inforrtr{rM�sortedrZrYrrsrrrrq)�confZpreconfZignore_keysr~�all_keysZold_keys�sourceZ	is_in_newZ	is_in_old�leftZreally_leftrsr rvr!�detect_settings�sH






��r�c@s:eZdZdZdd�Zdd�Zdd�Zd
d	d
�Zdd�ZdS)�
AppPicklerz*Old application pickler/unpickler (< 3.1).cGs2|j|�}|j|fi|��}|j|fi|��|Sr#)�build_kwargs�	construct�prepare)r&�clsr'r(rr r r!�__call__$s
zAppPickler.__call__cKs|j�|d�dS)N�changes)r��update)r&rr(r r r!r�*szAppPickler.preparecGs
|j|�Sr#)�build_standard_kwargs)r&r'r r r!r�-szAppPickler.build_kwargsNcCs||||||||d|
d�
S)NF)
r�loader�backend�amqpr��events�log�control�set_as_current�
config_sourcer )r&rr�r�r�r�r�r�r�Zaccept_magic_kwargsr�r r r!r�0s
�z AppPickler.build_standard_kwargscKs|fi|��Sr#r )r&r�r(r r r!r�8szAppPickler.construct)N)	rirjrkrlr�r�r�r�r�r r r r!r�!s�
r�cGs|�|g|�R�S)zRebuild app for versions 2.5+.r )r�Zpicklerr'r r r!�
_unpickle_app<sr�cCsd|d<|fi|��S)zRebuild app for versions 3.1+.Fr�r )r�r(r r r!�_unpickle_app_v2Asr�cs ddd���fdd�|��D�S)zFilter sensitive settings.�********cSsnt|t�rt|�St|t�rjt�|�r*|Sd|��vrRddlm}||�j	|d�Sd|��vrjt
||d�S|S)Nr0r)�
Connection)�maskr�)�
isinstancerr�str�HIDDEN_SETTINGS�search�lower�kombur��as_urir)r>rbr�r�r r r!�maybe_censorIs


z,filter_hidden_settings.<locals>.maybe_censorcsi|]\}}|�||��qSr r rT�r�r r!rWWrLz*filter_hidden_settings.<locals>.<dictcomp>)r�)rZ)r�r r�r!rGs
rcCs�ddl}ddl}ddl}z(|��}d�|jj|j���}|j}Wnt	yZd}}Yn0t
jt��d�
dd�t��D��t��t�|j|j|jt��||t|jjp�d�|j��t|jj�d	�
S)
z=Return a string containing information useful in bug-reports.rNz{}:{}r@z, css|]}|r|VqdSr#r )rI�xr r r!rKkrLzbugreport.<locals>.<genexpr>�disabled)
�system�archZkernel_versionZpy_iZcelery_vZkombu_vZ
billiard_vZpy_v�driver_v�	transport�resultsZhuman_settingsr�)�billiardr�rE�
connectionr{r�Zdriver_nameZdriver_versionZ
transport_cls�	Exception�BUGREPORT_INFO�	_platformr�rM�architecture�releaserZVERSION_BANNER�__version__�python_versionrr�r5rcrr�r*)rr�r�rE�connr�r�r r r!rZs4
�

�rcCs,ddlm}z|||d�}Wnty6||�}Yn0t|t��r(d|v�r(z|j}t|t�rft��Wn�t�y"z|j}t|t�r�td��Wn�t�yt|dd�r�zt|�d�||d	�WYYSt	y�Yn0t
|���D]}t||�r�|YYSq�Yn
0|YSYn0|S|S)
zFind app by name.r)�Celery)�imp�:zBattribute 'celery' is the celery module not the instance of celery�__path__Nz.celery)rr�)�baser��AttributeErrorr�rrrE�getattrr�ImportError�vars�values)rrr�r��sym�foundZsuspectr r r!rzsB


��
r)NNNNN):rlr-�platformr��re�collectionsr�collections.abcr�copyr�typesrZkombu.utils.urlrZcelery.exceptionsrZcelery.platformsrZcelery.utils.collectionsr	Zcelery.utils.importsr
rrZcelery.utils.textrrsrrrrrrr�__all__r��compile�
IGNORECASEr�ZE_MIX_OLD_INTO_NEWZE_MIX_NEW_INTO_OLDrzrrr/rqrrZ_settings_info_tr�r�r�r�r�r�rrrr r r r!�<module>sX$�	
���
9