Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
addonmanager.cpython-313.pyc115 linesDownload Raw Back to __pycache__
1�

2��jv'��F�SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJ	r	 SSK3Jr SSKJ
r
 SSKJr SSKJr SSKJr \R$"\5rS	rS4r\R.S5r"SS
5rSr\"SS\R655r"SS5rg)�N)�Callable)�Sequence)�	dataclass)�Any)�5exceptions)�flow)�hooksc�`�[USURRR55$)N�name)�getattr�	__class__�__name__�lower)�itms �\D:\code\apps\devtools\python\user_packages\Python313\site-packages\mitmproxy/addonmanager.py�	_get_namers$���3���
�
� 6� 6� <� <� >�?�?�c��Un[R"U5Hu p4nURnXA:XdM O U=(d U$)z�6Cut off a traceback at the function with the given name.7The func_name's frame is excluded.8 9Args:10    tb: traceback object, as returned by sys.exc_info()[2]11    func_name: function name12 13Returns:14    Reduced traceback.15)�	traceback�16extract_tb�tb_next)�tb�	func_name�tb_orig�_�fnames     r�
cut_tracebackrsB���G�#�.�.�r�2���1�Q�
�Z�Z�����3��=��rc#�4# �Sv� g![R[R4a e[a^ [R17"5upn[
US5n[
US5nU(deU(de[RSU3XU4S9 gf=f7f)N�invoke_addon_sync�invoke_addonz
Addon error: )�exc_info)	r�	AddonHalt�OptionsError�	Exception�sysr!r�logger�error)�etype�valuers   r�safecallr*,s����
18�
��� � �*�"9�"9�:��
��	19��<�<�>���b�
�2�2�
3��
�2�~�
.����u���u�����E�7�#��B�'�	�	20�
	21�s&�B�	�B�B	B�B�B�Bc
�h�\rSrSrSrSrSS\S\S\S\S	\	\S-S22S4Sjjr23S\S
\S24S4SjrSr
g)�Loader�>zE25A loader object is passed to the load() event when addons start up.26c��Xlg�N��master��selfr1s  r�__init__�Loader.__init__Cs���rNr�typespec�default�help�choices�returnc��[U[5(aeXRR;a�URRRUnUR27U:H=(aQ URU:H=(a; URU:H=(a% URU:H=(a URU:HnU(ag[RSU-5 URRRXX4U5 g)z�28Add an option to mitmproxy.29 30Help should be a single paragraph with no linebreaks - it will be31reflowed by tools. Information on the data type should be omitted -32it will be generated and added by tools as needed.33NzOver-riding existing option %s)
�34isinstance�strr1�options�_optionsrr6r7r8r9r&�warning�35add_option)r3rr6r7r8r9�existing�same_signatures        rrA�Loader.add_optionFs����g�s�+�+�+�+��;�;�&�&�&��{�{�*�*�3�3�D�9�H��
�
��%�0��%�%��1�0��$�$��/�0��M�M�T�)�0��$�$��/�
������?�$�F�G������&�&�t�w�g�Nr�path�funcc�N�URRRX5 g)z�Add a command to mitmproxy.36 37Unless you are generating commands programatically,38this API should be avoided. Decorate your function with `@mitmproxy.command.command` instead.39N)r1�commands�add)r3rErFs   r�add_command�Loader.add_commandes��	
����� � ��,rr0r/)r�40__module__�__qualname__�__firstlineno__�__doc__r4r=�typerrrArrJ�__static_attributes__�rrr,r,>sz����)-�
O��O��O��	O�41�O��#���%�
O�42�O�>-��-�8�-��-rr,c#�# �UH7nUv� [US5(dM[UR5Shv�N M9 gN	7f)z&43Recursively traverse an addon chain.44�addonsN)�hasattr�traverserT)�chain�as  rrVrVns:��������1�h�������)�)�)��
*�s�A�A�A�45Ac�$�\rSrSr%Sr\\S'Srg)�LoadHook�xz�46Called when an addon is first loaded. This event receives a Loader47object, which contains methods for adding options and commands. This48method is where the addon configures itself.49�loaderrRN)rrLrMrNrOr,�__annotations__rQrRrrrZrZxs���
�NrrZc��\rSrSrSrSrSrSrSrSr	Sr50S	rS51rSr
S\R4S
jrS\R4SjrS\R4SjrS\R4SjrS\R4SjrS\R4SjrSrg)�AddonManager�c��0Ul/UlXlURRRUR5 gr/)�lookuprWr1r>�changed�connect�_configure_allr2s  rr4�AddonManager.__init__�s3�������52��������&�&�t�':�':�;rc�N�UR[R"U55 gr/)�triggerr	�
ConfigureHook)r3�updateds  rre�AddonManager._configure_all�s�����U�(�(��1�2rc��URH(nURU[R"55 M* 0Ul/Ulg)z53Remove all addons.54N)rWrr	�DoneHookrb)r3rXs  r�clear�AddonManager.clear�s7�����A��"�"�1�e�n�n�&6�7�������55rc�:�URRUS5$)z�56Retrieve an addon by name. Addon names are equal to the .name57attribute on the instance, or the lower case class name if that58does not exist.59N)rb�get)r3rs  rrq�AddonManager.get�s���{�{���t�T�*�*rc��SSSSSS.n[U/5HynUR5H/upE[X45(dM[R	US35 M1 [U5nX`R;dMb[R"SU-5e [UR5nURU[U55 [U/5Hn[U5nX0RU'M [U/5H(nURRRU5 M* URRR!5 U$)	a60Register an addon, call its load event, and then register all its61sub-addons. This should be used by addons that dynamically manage62addons.63 64If the calling addon is already running, it should follow with65running and configure events. Must be called within a current66context.67zFThe clientconnect event has been removed, use client_connected insteadzLThe clientdisconnect event has been removed, use client_disconnected insteadzYThe serverconnect event has been removed, use server_connect and server_connected insteadzLThe serverdisconnect event has been removed, use server_disconnected insteadzRThe add_log event has been deprecated, use Python's builtin logging module instead)�
clientconnect�clientdisconnect�
serverconnect�serverdisconnect�add_logzM. For more details, see https://docs.mitmproxy.org/dev/addons-api-changelog/.z$An addon called '%s' already exists.)rV�itemsrUr&r@rrbr�AddonManagerErrorr,r1rrZrH�collect_commandsr>�process_deferred)r3�addon�api_changesrX�old�msgrr\s        r�register�AddonManager.register�s$�� f�"n�x�"n�k�68���5�'�"�A�'�-�-�/����1�?�?��N�N��%�l�m��0�69�Q�<�D��{�{�"� �2�2�:�T�A���#�����$�����u�h�v�&6�7��5�'�"�A��Q�<�D� !�K�K���#��5�'�"�A��K�K� � �1�1�!�4�#������,�,�.��rc�j�UH-nURRURU55 M/ g)zq70Add addons to the end of the chain, and run their load event.71If any addon has sub-addons, they are registered.72N)rW�appendr�)r3rT�is   rrI�AddonManager.add�s)��73�A��J�J���d�m�m�A�.�/�rc�`�[U/5Htn[U5nX0R;a[R"SU-5eUR74Vs/sHoDULdM	UPM
 snUlUR[U5	Mv UR
U[R"55 gs snf)z�75Remove an addon and all its sub-addons.76 77If the addon is not in the chain - that is, if it's managed by a78parent addon - it's the parent's responsibility to remove it from79its own addons attribute.80zNo such addon: %sN)	rVrrbrrzrWrr	rm)r3r}rX�nr�s     r�remove�AddonManager.remove�s����5�'�"�A��!��A����#� �2�2�3F��3J�K�K�%)�Z�Z�>�Z��A�:�!�Z�>�D�J����I�a�L�)�#�	
���u�e�n�n�&6�7��?s�B+�B+c�,�[UR5$r/)�lenrW)r3s r�__len__�AddonManager.__len__�s���4�:�:��rc��[R"URVs/sHn[U5PM sn5$s snfr/)�pprint�pformatrWr=)r3r�s  r�__str__�AddonManager.__str__�s+���~�~�t�z�z�:�z�!�s�1�v�z�:�;�;��:s�;c�4�[U5nX R;$r/)rrb)r3�itemrs   r�__contains__�AddonManager.__contains__�s�������{�{�"�"r�eventc��# �UR5SnURU5IShv�N [U[R5(a/UR[81R"U/55IShv�N ggNSN7f)z82Handle a lifecycle event.83rN)�args�
trigger_eventr<r�Flowr	�84UpdateHook)r3r��messages   r�handle_lifecycle�AddonManager.handle_lifecycle�sl����*�*�,�q�/��� � ��'�'�'��g�t�y�y�)�)��$�$�U�%5�%5�w�i�%@�A�A�A�*�	(�
B�s"�(B�A>�AB�7B�8B�Bc#�l# �[U[R5(de[U/5Hn[	X2R85S5nU(dM"[
U5(aX44v� M9[U[R5(aMZ[R"SUR86SUS35e g7f)z;87Enumerate all hook callables belonging to the given addon88NzAddon handler � (z) not callable)r<r	�HookrVrr�callable�types�89ModuleTyperrz)r3r}r�rXrFs     r�_iter_hooks�AddonManager._iter_hooks�s�����%����,�,�,�,��5�'�"�A��1�j�j�$�/�D��t��D�>�>��'�M���e�&6�&6�7�7�90�$�6�6�(�����B�q�c��H���#�s
�AB4�A"B4c���# �URX5HDupU"UR56nUcM[R"U5(dM:UIShv�N MF gN	7f)zB91Asynchronously invoke an event on an addon and all its children.92N)r�r��inspect�isawaitable)r3r}r�rF�ress     rr �AddonManager.invoke_addonsO��� �+�+�E�9�K�E���93�94��%�C���7�#6�#6�s�#;�#;��	�	�	:��s�+A�A�A�A�95Ac���URX5HZup[R"U5(a'[R"SUR96SUS35eU"UR
56 M\ g)z397Invoke an event on an addon and all its children.98zAsync handler r�z$) cannot be called from sync contextN)r�r��iscoroutinefunctionrrzrr�)r3r}r�rFs    rr�AddonManager.invoke_addon_syncsf�� �+�+�E�9�K�E��*�*�4�0�0� �2�2�$�U�Z�Z�L��5�'�9]�^���
�%�*�*�,��:rc���# �URH0n[5 URX!5IShv�N SSS5 M2 gN!,(df   MF=f![Ra  gf=f7f)z499Asynchronously trigger an event across all addons.100N)rWr*r rr"�r3r�r�s   rr��AddonManager.trigger_events]������A�
��Z��+�+�A�5�5�5� �Z��6� �Z���'�'�
��
�sY�A3�101A�A�A�A�A�A3�A�102A	�A�A3�A�A0�,A3�/A0�0A3c���URH(n[5 URX!5 SSS5 M* g!,(df   M<=f![Ra  gf=f)z�103Trigger an event across all addons.104 105This API is discouraged and may be deprecated in the future.106Use `trigger_event()` instead, which provides the same functionality but supports async hooks.107N)rWr*rrr"r�s   rrh�AddonManager.trigger(sN�����A�
��Z��*�*�1�4� �Z���Z���'�'�
��
�s+�108A�:�A�109A		�A�	A�A$�#A$)rWrbr1N)rrLrMrNr4rernrqr�rIr�r�r�r�r	r�r�r�r rr�rhrQrRrrr_r_�s���<�3��+�&�P0�8� �<�#�	B�E�J�J�	B���110�111��*�u�z�z��	 �e�j�j�	 �	����	��U�Z�Z�rr_)�112contextlibr��loggingr�r%rr��collections.abcrr�dataclassesr�typingr�	mitmproxyrrr	�	getLoggerrr&rr�contextmanagerr*r,rVr�rZr_rRrr�<module>r�s������
�113���$�$�!�� ���	�	�	�8�	$��@��(���114��115�"--�--�`*���u�z�z����q�qr
codekingpro/portable-devtools · Team Ai