CoolFace
Apppublic

fred-dev/comfy_ui_ali

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes
patcher_extension.cpython-312.pyc35 linesDownload Raw Back to __pycache__
1�

2���gM����ddlmZddlmZGd�d�Zddd�Zddd�Zddd�Zddd�ZGd	�d3�Z	ddd�Z4ddd�Zddd
�Zddd�Z
Gd�d�ZGd�d�Zdd�Zd d!d�Zy)"�)�annotations)�Callablec�F�eZdZdZdZdZdZdZdZdZ	dZ5d	Zd6Ze
d
d��Zy)�CallbacksMP�on_clone�
on_load_after�on_detach_after�7on_cleanup�8on_pre_run�on_prepare_state�on_apply_hooks�on_register_all_hook_patches�on_inject_model�on_eject_modelc��iS�N���clss �b/Users/fredrodrigues/Library/CloudStorage/Dropbox/Code/comfyui_hardware/comfy/patcher_extension.py�init_callbackszCallbacksMP.init_callbacks����	�N��returnz$dict[str, dict[str, list[Callable]]])�__name__�9__module__�__qualname__�ON_CLONE�ON_LOAD�	ON_DETACH�10ON_CLEANUP�11ON_PRE_RUN�ON_PREPARE_STATE�ON_APPLY_HOOKS�ON_REGISTER_ALL_HOOK_PATCHES�ON_INJECT_MODEL�ON_EJECT_MODEL�classmethodrrrrrrsJ���H��G�!�I��J��J�)��%�N�#A� �'�O�%�N����rrc�"�t|d|||�yr)�add_callback_with_key)�	call_type�callback�transformer_options�is_model_optionss    r�add_callbackr0s���)�T�8�5H�JZ�[rc��|r|jdi�}|jdi�}|j|i�j|g�}|j|�y�Nr.�	callbacks��12setdefault�append)r,�keyr-r.r/r3�cs       rr+r+sX���1�<�<�=R�TV�W��,?�,J�,J�;�XZ�,[�I����Y��+�6�6�s�B�?�A��H�H�X�rc��|r|jdi�}g}|jdi�}|j|j|i�j|g��|Sr2��get�extend)r,r7r.r/�c_listr3s      r�get_callbacks_with_keyr> sY���1�5�5�6K�R�P��
�F�!4�!8�!8��b�!I�I�13�M�M�)�-�-�	�2�.�2�2�3��;�<��Mrc���|r|jdi�}g}|jdi�}|j|i�j�D]}|j|��|Sr2�r;�valuesr<)r,r.r/r=r3r8s      r�get_all_callbacksrB(s_���1�5�5�6K�R�P��
�F�!4�!8�!8��b�!I�I�
�]�]�9�b�
)�
0�
0�
2���
�
�a��3��Mrc�2�eZdZdZdZdZdZdZedd��Z	y)	�14WrappersMP�outer_sample�sampler_sample�calc_cond_batch�apply_model�diffusion_modelc��iSrrrs r�
init_wrapperszWrappersMP.init_wrappers:rrNr)15rrr�OUTER_SAMPLE�SAMPLER_SAMPLE�CALC_COND_BATCH�APPLY_MODEL�DIFFUSION_MODELr)rKrrrrDrD1s/��!�L�%�N�'�O��K�'�O����rrDc�"�t|d|||�yr)�add_wrapper_with_key)�wrapper_type�wrapperr.r/s    r�add_wrapperrU>s����t�W�6I�K[�\rc��|r|jdi�}|jdi�}|j|i�j|g�}|j|�y�Nr.�wrappersr4)rSr7rTr.r/rX�ws       rrRrRAsX���1�<�<�=R�TV�W��+>�+I�+I�*�VX�+Y�H����L�"�-�8�8��b�A�A��H�H�W�rc��|r|jdi�}g}|jdi�}|j|j|i�j|g��|SrWr:)rSr7r.r/�w_listrXs      r�get_wrappers_with_keyr\HsY���1�5�5�6K�R�P��
�F� 3� 7� 7�16�B� G�H�17�M�M�(�,�,�|�R�0�4�4�S�"�=�>��Mrc���|r|jdi�}g}|jdi�}|j|i�j�D]}|j|��|SrWr@)rSr.r/r[rXrYs      r�get_all_wrappersr^Ps_���1�5�5�6K�R�P��
�F� 3� 7� 7�18�B� G�H�
�\�\�,��
+�
2�
2�
4���
�
�a��5��Mrc�T�eZdZdZd	d�Zd�Zd�Zd19d�Zeddd��Z	edd
d��Z20y)�WrapperExecutorzFHandles call stack of wrappers around a function in an ordered manner.c�~�||_||_|j�|_||_|t|�k(|_yr)�original�	class_obj�copyrX�idx�len�is_last)�selfrbrcrXres     r�__init__zWrapperExecutor.__init__[s6��!��
�"��� �
�
���
�����c�(�m�+��rc�F�|j�}|j|i|��S)zFCalls the next wrapper or original function, whichever is appropriate.)�_create_next_executor�execute)rh�args�kwargs�new_executors    r�__call__zWrapperExecutor.__call__ds(���1�1�3��#�|�#�#�T�4�V�4�4rc��t|�}t|�}|jr|j|i|��S|j|j21|g|��i|��S)z[Used to initiate executor internally - DO NOT use this if you received executor in wrapper.)�list�dictrgrbrXre)rhrmrns   rrlzWrapperExecutor.executeisU���D�z���f����<�<� �4�=�=�$�1�&�1�1�&�t�}�}�T�X�X�&�t�=�d�=�f�=�=rc�@�|jdz}|t|j�kDrtd��|j�+t22j
|j|j|�St23j|j|j|j|�S)N�zCWrapper idx exceeded available wrappers; something went very wrong.)	rerfrX�	Exceptionrcr`rorb�new_class_executor)rh�new_idxs  rrkz%WrapperExecutor._create_next_executorqsz���(�(�Q�,���S����'�'��a�b�b��>�>�!�"�/�/��
�
�t�}�}�g�V�V��1�1�$�-�-����QU�Q^�Q^�`g�h�hrc��||d||��S)N)rcrXrer)rrbrXres    rrozWrapperExecutor.new_executorys���8�t�h�C�H�Hrc��|||||��S)N)rer)rrbrcrXres     rrwz"WrapperExecutor.new_class_executor}s���8�Y��c�:�:rN)rbrrc�objectrX�list[Callable]re�int)rz'WrapperExecutor')r)rbrrXr|)rbrrcr{rXr|)rrr�__doc__rirprlrkr)rorwrrrr`r`YsD��P�,�5�24>�i��I��I��;��;rr`c��eZdZdd�Zy)�PatcherInjectionc� �||_||_yr)�inject�eject)rhr�r�s   rrizPatcherInjection.__init__�s�������25rN)r�rr�r)rrrrirrrr�r��s��rr�c���|j�}|j�D]H\}}t|t�rt	|�||<�%t|t26�s�6|j�||<�J|Sr)rd�items�27isinstancers�copy_nested_dictsrr)�28input_dict�new_dictr7�values    rr�r��s]����� �H� �&�&�(�29��U��e�T�"�-�e�4�H�S�M�
��t�
$�!�J�J�L�H�S�M�	)�30�Orc�(�|rt|�}n|}|j�D]n\}}t|t�r"|j	|i�}t||�||<�8t|t�r"|j	|g�j|��j|||<�p|Sr)r�r�r�rsr5�merge_nested_dictsrrr<)�dict1�dict2�31copy_dict1�merged_dictr7r��32curr_values       rr�r��s����'��.�����k�k�m�33��U��e�T�"�$�/�/��R�8�J�1�%��D�K���
��t�
$��"�"�3��+�2�2�5�9�$�K���$��rN)F)r,�strr-rr.rs)r,r�r7r�r-rr.rs)r,r�r7r�r.rs)r,r�r.rs)rSr�rTrr.rs)rSr�r7r�rTrr.rs)rSr�r7r�r.rs)rSr�r.rs)r�rs)T)r�rsr�rs)�34__future__r�typingrrr0r+r>rBrDrUrRr\r^r`r�r�r�rrr�<module>r�sh��"����$\������]����&;�&;�P��35�
r