Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/playhouse/__pycache__/signals.cpython-38.opt-1.pyc

U

SW@sXdZddlmZGdddeZeZeZeZeZ	eZ
eZGdddeZdS)z.
Provide django-style hooks for model events.
)Modelc@sBeZdZddZdddZdddZddd	Zd
dZdd
ZdS)SignalcCs|dSN)_flushselfr/signals.py__init__szSignal.__init__NcCs@|p|j}||jkr0||f|j|<|j|ntd|dS)Nz#receiver named %s already connected)__name__
_receivers_receiver_listappend
ValueError)rreceivernamesenderrrr	connects


zSignal.connectcCs0|r
|j}|r$|j|=|j|ntddS)Nz%a receiver or a name must be provided)rrr
remover)rrrrrr	
disconnectszSignal.disconnectcsfdd}|S)Ncs||Sr)r)fnrrrrr		decoratorsz"Signal.__call__.<locals>.decoratorr)rrrrrrr	__call__szSignal.__call__c	OsXt|}g}|jD]@}|j|\}}|dks6t||r|||||f||fq|Sr)typer
r
isinstancer)	rinstanceargskwargsrZ	responsesrrsrrr	send"s
zSignal.sendcCsi|_g|_dSr)rr
rrrr	r+sz
Signal._flush)NN)NN)NN)	r
__module____qualname__r
rrrr!rrrrr	rs

	
	rcs@eZdZfddZfddZfddZfddZZS)	rcs tt|j||t|dSr)superrr
pre_initr!)rrr	__class__rr	r
9szModel.__init__cstt|t|dSr)r$rprepared	post_initr!rr&rr	r(=szModel.preparedcsP|}|ddpt|}tj||dtt|j||}tj||d|S)NZforce_insertF)created)	Z
_get_pk_valuegetboolpre_saver!r$rsave	post_save)rrrZpk_valuer*retr&rr	r.Asz
Model.savecs*t|tt|j||}t||Sr)
pre_deleter!r$rdelete_instancepost_delete)rrrr0r&rr	r2Is

zModel.delete_instance)rr"r#r
r(r.r2
__classcell__rrr&r	r8srN)__doc__ZpeeweerZ_Modelobjectrr-r/r1r3r%r)rrrr	<module>s)
Back to Directory File Manager