Mercurial > repos > shellac > sam_consensus_v3
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 |