a
    £ÜeeÈ  ã                   @   sb   d dl mZ d dlmZ d dlmZ ddlmZ dZdZ	dZ
dZee	gZG d	d
„ d
ƒZedƒZdS )é    )ÚImproperlyConfigured)Úsetting_changed)Úimport_stringé   )Úget_callableé   é   é   c                   @   sD   e Zd Zdddeddddddddœd	œZd
d„ Zdd„ Zdd„ ZdS )ÚAppSettingsTz$concurrency.forms.VersionFieldSignerzconcurrency.views.callbackzconcurrency.views.conflictzconcurrency.triggers.PostgreSQLzconcurrency.triggers.MySQLzconcurrency.triggers.Sqlite3)Z
postgresqlZmysqlZsqlite3Zsqlite)ZENABLEDZAUTO_CREATE_TRIGGERSZFIELD_SIGNERZPOLICYÚCALLBACKZ
HANDLER409ZVERSION_FIELD_REQUIREDÚTRIGGERS_FACTORYc                 C   s€   || _ ddlm} | j ¡ D ]R\}}| j d |  ¡ }t|||ƒ}|  ||¡ t|||ƒ t	j
| j||dd� qt	 | j¡ dS )zs
        Loads our settings from django.conf.settings, applying defaults for any
        that are omitted.
        r   )ÚsettingsÚ_T)ÚsettingÚvalueZenterN)ÚprefixZdjango.confr   ÚdefaultsÚitemsÚupperÚgetattrÚ	_set_attrÚsetattrr   ÚsendÚ	__class__ÚconnectÚ_handler)Úselfr   r   ÚnameÚdefaultÚprefix_namer   © r    úO/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/concurrency/config.pyÚ__init__#   s    zAppSettings.__init__c           	      C   sê   |t | jƒd d … }|dkr(tdƒ‚n²|dkrht|tƒrDt|ƒ}nt|ƒrR|}ntd |¡ƒ‚|| _nr|dkrÚt	|ƒ}| 
¡ D ]X\}}zt|ƒ||< W q€ tyÖ } z&td|› d|› d	|› �ƒ‚W Y d }~q€d }~0 0 q€t| ||ƒ d S )
Nr   ZIGNORE_DEFAULTz]IGNORE_DEFAULT has been removed in django-concurrency 1.5. Use VERSION_FIELD_REQUIRED insteadr   zY{} is not a valid value for `CALLBACK`. It must be a callable or a fullpath to callable. r   zUnable to load z TriggerFactory. Invalid fqn 'z': )Úlenr   r   Ú
isinstanceÚstrr   ÚcallableÚformatZ	_callbackÚdictr   r   ÚImportErrorr   )	r   r   r   r   ÚfuncÚoriginalÚkÚvÚer    r    r!   r   4   s,    


ÿÿ2zAppSettings._set_attrc                 K   s   |  | j¡r|  ||¡ dS )zj
            handler for ``setting_changed`` signal.

        @see :ref:`django:setting-changed`_
        N)Ú
startswithr   r   )r   Zsenderr   r   Úkwargsr    r    r!   r   M   s    zAppSettings._handlerN)Ú__name__Ú
__module__Ú__qualname__Ú'CONCURRENCY_LIST_EDITABLE_POLICY_SILENTr   r"   r   r   r    r    r    r!   r
      s    üør
   ZCONCURRENCYN)Zdjango.core.exceptionsr   Zdjango.test.signalsr   Zdjango.utils.module_loadingr   Úcompatr   r4   Z*CONCURRENCY_LIST_EDITABLE_POLICY_ABORT_ALLZCONCURRENCY_POLICY_RAISEZCONCURRENCY_POLICY_CALLBACKZLIST_EDITABLE_POLICIESr
   Zconfr    r    r    r!   Ú<module>   s   E