You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ariatosca.apache.org by mx...@apache.org on 2017/10/23 12:58:26 UTC
incubator-ariatosca git commit: ARIA-392 Failing to load ruamel.yaml
Repository: incubator-ariatosca
Updated Branches:
refs/heads/ARIA-392-Failing-to-load-ruamel.yaml [created] 8e1806233
ARIA-392 Failing to load ruamel.yaml
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/8e180623
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/8e180623
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/8e180623
Branch: refs/heads/ARIA-392-Failing-to-load-ruamel.yaml
Commit: 8e18062339446512411789b7f5129ddcf2331816
Parents: 737fff5
Author: max-orlov <ma...@gigaspaces.com>
Authored: Mon Oct 23 15:58:14 2017 +0300
Committer: max-orlov <ma...@gigaspaces.com>
Committed: Mon Oct 23 15:58:14 2017 +0300
----------------------------------------------------------------------
aria/__init__.py | 34 +++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/8e180623/aria/__init__.py
----------------------------------------------------------------------
diff --git a/aria/__init__.py b/aria/__init__.py
index 76a62ce..633c5c8 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -18,11 +18,43 @@ The ARIA root package provides entry points for extension and storage initializa
"""
import sys
+import types
+import os
import pkg_resources
aria_package_name = 'apache-ariatosca'
__version__ = pkg_resources.get_distribution(aria_package_name).version
+
+
+
+try:
+ import ruamel # noqa: F401
+except ImportError:
+ if sys.version_info[0] > 2:
+ raise
+
+ # Traverse all of the site-packages and try to load ruamel.
+ for packages_dir in sys.path:
+ ruamel_path = os.path.join(packages_dir, 'ruamel')
+ if not os.path.exists(ruamel_path):
+ continue
+
+ # If the top dir has an __init__.py file, the loading should have
+ # succeeded automatically
+ if os.path.exists(os.path.join(ruamel_path, '__init__.py')):
+ raise
+
+ # Dynamically create mapping to the ruamel package
+ ruamel_module = sys.modules.setdefault(
+ 'ruamel',
+ types.ModuleType('ruamel')
+ )
+ # add path to the mapped package
+ ruamel_module.__dict__.setdefault('__path__', []).append(ruamel_path)
+
+
+
from .orchestrator.decorators import workflow, operation # pylint: disable=wrong-import-position
from . import ( # pylint: disable=wrong-import-position
extension,
@@ -62,7 +94,7 @@ def install_aria_extensions():
if module_name.startswith('aria_extension_'):
loader.find_module(module_name).load_module(module_name)
for entry_point in pkg_resources.iter_entry_points(group='aria_extension'):
- entry_point.load()
+ entry_point.resolve()
extension.init()