============================ ``topology.platforms.shell`` ============================ .. automodule:: topology.platforms.shell .. contents:: :local: .. currentmodule:: topology.platforms.shell Classes ======= - :py:class:`BaseShell`: Base shell class for Topology nodes. - :py:class:`PExpectShell`: Implementation of the BaseShell class using pexpect. - :py:class:`PExpectBashShell`: Custom shell class for Bash. - :py:class:`ShellContext`: Context Manager class for default shell swapping. .. autoclass:: BaseShell :members: .. rubric:: Inheritance .. inheritance-diagram:: BaseShell :parts: 1 .. autoclass:: PExpectShell :members: .. rubric:: Inheritance .. inheritance-diagram:: PExpectShell :parts: 1 .. autoclass:: PExpectBashShell :members: .. rubric:: Inheritance .. inheritance-diagram:: PExpectBashShell :parts: 1 .. autoclass:: ShellContext :members: .. rubric:: Inheritance .. inheritance-diagram:: ShellContext :parts: 1 Exceptions ========== - :py:exc:`NonExistingConnectionError`: Exception raised by the shell API when trying to use a non-existent - :py:exc:`AlreadyConnectedError`: Exception raised by the shell API when trying to create a connection - :py:exc:`AlreadyDisconnectedError`: Exception raised by the shell API when trying to disconnect an already .. autoexception:: NonExistingConnectionError .. rubric:: Inheritance .. inheritance-diagram:: NonExistingConnectionError :parts: 1 .. autoexception:: AlreadyConnectedError .. rubric:: Inheritance .. inheritance-diagram:: AlreadyConnectedError :parts: 1 .. autoexception:: AlreadyDisconnectedError .. rubric:: Inheritance .. inheritance-diagram:: AlreadyDisconnectedError :parts: 1 Variables ========= - :py:data:`TERM_CODES_REGEX` .. autodata:: TERM_CODES_REGEX :annotation: .. code-block:: guess '\\x1b[E|\\[](\\?)?([0-9]{1,2}(;[0-9]{1,2})?)?[m|K|h|H|r]?'