Source code for cloudmesh_client.shell.plugins.LoadCommand

from __future__ import print_function
from cloudmesh_client.default import Default
from cloudmesh_client.shell.command import command
from cloudmesh_client.shell.console import Console
from cloudmesh_client.cloud.limits import Limits
from cloudmesh_client.shell.command import PluginCommand, CloudPluginCommand
from cloudmesh_client.common.dotdict import dotdict
from cloudmesh_client.common.ConfigDict import ConfigDict
import os

[docs]class LoadCommand(PluginCommand, CloudPluginCommand): topics = {"load": "shell"} def __init__(self, context): self.context = context if self.context.debug: print("init command load") # noinspection PyUnusedLocal @command def do_load(self, args, arguments): """ :: Usage: load MODULE [PYPI] ARGUMENTS: MODULE The name of the module PREDEFINED MODULE NAMES: vbox loads vbox command Examples: cm load cloudmesh_vagrant.cm_vbox.do_vbox lists the plugins currently loaded """ arg = dotdict(arguments) # importlib.import_module('matplotlib.text') plugins = ConfigDict(filename="cloudmesh.yaml") if arg.MODULE == "vbox": arg.MODULE = "cloudmesh_vagrant.cm_vbox.do_vbox" arg.PYPI = "cloudmesh_vagrant" if arg.PYPI is not None: try: import cloudmesh_vagrant except: os.system("pip install cloudmesh_vagrant") try: print("LOADING ->", arg.MODULE) self.load_instancemethod(arg.MODULE) except: Console.error("Problem loading module {}".format(arg.MODULE), traceflag=True) return ""