Пример #1
0
    def __init__(self, root_dir=None):
        self._root_dir = root_dir or \
                         os.path.join(os.path.expanduser('~'), '.arest')

        models_dir = os.path.join(self._root_dir, 'models')
        resource_dir = os.path.join(self._root_dir, 'resources')
        plugins_dir = os.path.join(self._root_dir, 'plugins')
        self._create_paths(models_dir, resource_dir, plugins_dir)

        # Create a model storage
        self._model_storage = aria_.application_model_storage(
            api=sql_mapi.SQLAlchemyModelAPI,
            initiator_kwargs={'base_dir': models_dir}
        )

        self._resource_storage = aria_.application_resource_storage(
            api=filesystem_rapi.FileSystemResourceAPI,
            api_kwargs={'directory': resource_dir}
        )

        self._plugin_manager = plugin.PluginManager(
            model=self._model_storage,
            plugins_dir=plugins_dir
        )

        self._core = aria_core.Core(
            model_storage=self.model,
            resource_storage=self.resource,
            plugin_manager=self._plugin_manager
        )
Пример #2
0
def plugin_manager(model, plugins_dir):
    return plugin.PluginManager(model=model, plugins_dir=plugins_dir)
Пример #3
0
 def plugin_manager(self):
     if self._plugin_manager is None:
         self._plugin_manager = plugin.PluginManager(
             self.model, self._tmpdir)
     return self._plugin_manager