summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--barbicanclient/__init__.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/barbicanclient/__init__.py b/barbicanclient/__init__.py
index 58f7429..51d78ec 100644
--- a/barbicanclient/__init__.py
+++ b/barbicanclient/__init__.py
@@ -15,8 +15,54 @@
"""Barbican Client Library Binding"""
+import importlib
+import sys
+import warnings
+
import pbr.version
+from barbicanclient.v1 import acls
+from barbicanclient.v1 import cas
+from barbicanclient.v1 import containers
+from barbicanclient.v1 import orders
+from barbicanclient.v1 import secrets
+
version_info = pbr.version.VersionInfo("python-barbicanclient")
__version__ = version_info.version_string()
+
+__all__ = (
+ 'acls',
+ 'cas',
+ 'containers',
+ 'orders',
+ 'secrets',
+)
+
+
+class _LazyImporter(object):
+ def __init__(self, module):
+ self._module = module
+
+ def __getattr__(self, name):
+ # This is only called until the import has been done.
+ lazy_submodules = [
+ 'acls',
+ 'cas',
+ 'containers',
+ 'orders',
+ 'secrets',
+ ]
+ if name in lazy_submodules:
+ warnings.warn("The %s module is moved to barbicanclient/v1 "
+ "directory, direct import of barbicanclient.%s "
+ "will be deprecated. Please import "
+ "barbicanclient.v1.%s instead."
+ % (name, name, name))
+ return importlib.import_module('barbicanclient.v1.%s' % name)
+
+ # Return module attributes like __all__ etc.
+ return getattr(self._module, name)
+
+
+sys.modules[__name__] = _LazyImporter(sys.modules[__name__])