Sindbad~EG File Manager

Current Path : /proc/self/root/usr/lib/python3.6/site-packages/tracer/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3.6/site-packages/tracer/__pycache__/hooks.cpython-36.opt-1.pyc

3

"e;�@sHddlZddlmZddlmZiZGdd�de�Zdd�Zdd	�Z	dS)
�N)�
HOOKS_DIRS)�load_sourcec@s eZdZdZdd�Zdd�ZdS)�
HooksObserverz�
	Provides interface for calling user hooks

	When initializing, loads all hooks located in HOOKS_DIRS. Then it can called
	with application name as argument. Observer ensures calling all hooks defined for the application.
	cCs
t�dS)N)�_register_hooks)�self�r�/usr/lib/python3.6/hooks.py�__init__!szHooksObserver.__init__cCs"|tkrdSdd�t|D�dS)NcSsg|]
}|��qSrr)�.0�frrr�
<listcomp>(sz*HooksObserver.__call__.<locals>.<listcomp>)�_hooks)r�apprrr�__call__$szHooksObserver.__call__N)�__name__�
__module__�__qualname__�__doc__r	rrrrrrsrcs�fdd�}|S)a
	Decorator for tracer hooks.

	Example::

		from tracer import hooks

		@hooks.match("foo")
		def hook_app():
		    print("Hey, application foo was found")

	.. note::
		You can match multiple applications by calling ``@hooks.match`` with list of them.

	csBx<t��tkr�n�gD]"}|tkr,gt|<t|j|�qW|S)N)�type�listr
�append)rr)�appsrr�	decorator;s
zmatch.<locals>.decoratorr)rrr)rr�match+srcCszxttD]l}xftj|�D]X\}}}xL|D]D}tjj|�d}yt|tjj||��Wq&tk
rhw&Yq&Xq&WqWqWdS)Nr)r�os�walk�path�splitextr�join�	Exception)Zhook_dir�root�dirs�filesZfname�modnamerrrrDs

r)
rZtracer.pathsrZtracer.resources.pycomprr
�objectrrrrrrr�<module>s

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists