diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/env/lib/python3.9/site-packages/allure_commons/_core.py	Mon Mar 22 18:12:50 2021 +0000
@@ -0,0 +1,25 @@
+import threading
+from six import with_metaclass
+from pluggy import PluginManager
+from allure_commons import _hooks
+
+
+class MetaPluginManager(type):
+    _storage = threading.local()
+
+    @staticmethod
+    def get_plugin_manager():
+        if not hasattr(MetaPluginManager._storage, 'plugin_manager'):
+            MetaPluginManager._storage.plugin_manager = PluginManager('allure')
+            MetaPluginManager._storage.plugin_manager.add_hookspecs(_hooks.AllureUserHooks)
+            MetaPluginManager._storage.plugin_manager.add_hookspecs(_hooks.AllureDeveloperHooks)
+
+        return MetaPluginManager._storage.plugin_manager
+
+    def __getattr__(cls, attr):
+        pm = MetaPluginManager.get_plugin_manager()
+        return getattr(pm, attr)
+
+
+class plugin_manager(with_metaclass(MetaPluginManager)):
+    pass