ShellClient
index
shellclient.py

This file implement a asynchronous ShellClient.

 
Modules
       
asynchat
asyncore
logging

 
Classes
       
asynchat.async_chat(asyncore.dispatcher)
ShellClient

 
class ShellClient(asynchat.async_chat)
    ShellClient(host: str, port: int)
 
This class implement a Shell Client.
 
 
Method resolution order:
ShellClient
asynchat.async_chat
asyncore.dispatcher
builtins.object

Methods defined here:
__init__(self, host: str, port: int)
Initialize self.  See help(type(self)) for accurate signature.
collect_incoming_data(self, data: bytes) -> None
Get shell output and exit if ShellServer send exit message.
found_terminator(self) -> None
Print shell output, ask new command and send it.

Methods inherited from asynchat.async_chat:
close_when_done(self)
automatically close this channel once the outgoing queue is empty
discard_buffers(self)
get_terminator(self)
handle_close(self)
handle_read(self)
handle_write(self)
initiate_send(self)
push(self, data)
push_with_producer(self, producer)
readable(self)
predicate for inclusion in the readable for select()
set_terminator(self, term)
Set the input delimiter.
 
Can be a fixed string of any length, an integer, or None.
writable(self)
predicate for inclusion in the writable for select()

Data and other attributes inherited from asynchat.async_chat:
ac_in_buffer_size = 65536
ac_out_buffer_size = 65536
encoding = 'latin-1'
use_encoding = 0

Methods inherited from asyncore.dispatcher:
__repr__(self)
Return repr(self).
accept(self)
add_channel(self, map=None)
bind(self, addr)
close(self)
connect(self, address)
create_socket(self, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>)
del_channel(self, map=None)
handle_accept(self)
handle_accepted(self, sock, addr)
handle_connect(self)
handle_connect_event(self)
handle_error(self)
handle_expt(self)
handle_expt_event(self)
handle_read_event(self)
handle_write_event(self)
listen(self, num)
log(self, message)
log_info(self, message, type='info')
recv(self, buffer_size)
send(self, data)
set_reuse_addr(self)
set_socket(self, sock, map=None)

Data descriptors inherited from asyncore.dispatcher:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from asyncore.dispatcher:
accepting = False
addr = None
closing = False
connected = False
connecting = False
debug = False
ignore_log_types = frozenset({'warning'})

 
Data
        __all__ = ['ShellClient']