comparison env/lib/python3.9/site-packages/allure_commons/_core.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4f3585e2f14b
1 import threading
2 from six import with_metaclass
3 from pluggy import PluginManager
4 from allure_commons import _hooks
5
6
7 class MetaPluginManager(type):
8 _storage = threading.local()
9
10 @staticmethod
11 def get_plugin_manager():
12 if not hasattr(MetaPluginManager._storage, 'plugin_manager'):
13 MetaPluginManager._storage.plugin_manager = PluginManager('allure')
14 MetaPluginManager._storage.plugin_manager.add_hookspecs(_hooks.AllureUserHooks)
15 MetaPluginManager._storage.plugin_manager.add_hookspecs(_hooks.AllureDeveloperHooks)
16
17 return MetaPluginManager._storage.plugin_manager
18
19 def __getattr__(cls, attr):
20 pm = MetaPluginManager.get_plugin_manager()
21 return getattr(pm, attr)
22
23
24 class plugin_manager(with_metaclass(MetaPluginManager)):
25 pass