예제 #1
0
 def _to_dsl_package(self, app_package):
     dsl_package = murano_package.MuranoPackage(self._root_loader,
                                                app_package)
     for name in app_package.classes:
         dsl_package.register_class(
             (lambda cls: lambda: get_class(app_package, cls))(name), name)
     if app_package.full_name == constants.CORE_LIBRARY:
         system_objects.register(dsl_package)
     self.register_package(dsl_package)
     return dsl_package
예제 #2
0
 def _build_index(self):
     for folder in self.search_package_folders(self._base_path):
         try:
             package = load_utils.load_from_dir(folder)
             dsl_package = murano_package.MuranoPackage(
                 self._root_loader, package)
             for class_name in package.classes:
                 dsl_package.register_class(
                     (lambda pkg, cls: lambda: get_class(pkg, cls))(
                         package, class_name), class_name)
             if dsl_package.name == constants.CORE_LIBRARY:
                 system_objects.register(dsl_package)
             self.register_package(dsl_package)
         except pkg_exc.PackageLoadError:
             LOG.info(
                 'Unable to load package from path: {0}'.format(folder))
             continue
         LOG.info('Loaded package from path {0}'.format(folder))