Source code for GLXShell.libs.commands

import cmd2

from GLXShell.libs.properties.commands import GLXShellPropertyCommands


[docs]class GLXShellCommands(GLXShellPropertyCommands): """ It class have responsibility to receive heritage from ``GLXShPropertyShell`` and ``GLXShellPropertyCommands``. Then the class provide ``GLXShellCommands.load()``, ``GLXShellCommands.unload()`` and ``GLXShellCommands.reload()`` method's. It class is include by every plugins, for add method's use directly by the Plugins Manager. """ def __init__(self): GLXShellPropertyCommands.__init__(self)
[docs] def load(self): """ It function provide load plugin capability to class it receive heritage from it class. ``shell`` property is require and should not be to None, that is done automatically by ``GLXSHell`` """ if ( hasattr(self, "commands") and self.commands and hasattr(self, "shell") and self.shell ): for command in self.commands: try: self.shell.register_command_set(command["object"]) if self.shell.debug: self.shell.pwarning("LOAD COMMAND: {0}".format(command["name"])) except cmd2.CommandSetRegistrationError: if self.shell.debug: self.shell.perror( "ALREADY LOADED COMMAND: {0} ".format(command["name"]) )
[docs] def unload(self): """ It function provide unload plugin capability to class it receive heritage from it class. ``shell`` property is require and should not be to None, that is done automatically by ``GLXSHell`` """ if ( hasattr(self, "commands") and self.commands and hasattr(self, "shell") and self.shell ): for command in self.commands: self.shell.unregister_command_set(command["object"]) if self.shell.debug: self.shell.pwarning("UNLOAD COMMAND: {0}".format(command["name"]))
[docs] def reload(self): """ It function provide reload plugin capability to class it receive heritage from it class. ``shell`` property is require and should not be to None, that is done automatically by ``GLXSHell`` """ self.unload() self.load()