Package pyxmpp :: Package jabber :: Module client :: Class JabberClient
[hide private]

Class JabberClient

source code

client.Client --+
                |
               JabberClient

Base class for a Jabber client.
Instance Methods [hide private]
 
__init__(self, jid=None, password=None, server=None, port=5222, auth_methods=('sasl:DIGEST-MD5', 'digest'), tls_settings=None, keepalive=0, disco_name=u'pyxmpp based Jabber client', disco_category=u'client', disco_type=u'pc')
Initialize a JabberClient object.
source code
 
connect(self, register=False)
Connect to the server and set up the stream.
source code
 
register_feature(self, feature_name)
Register a feature to be announced by Service Discovery.
source code
 
unregister_feature(self, feature_name)
Unregister a feature to be announced by Service Discovery.
source code
 
submit_registration_form(self, form)
Submit a registration form
source code
 
__disco_info(self, iq)
Handle a disco#info request.
source code
 
__disco_items(self, iq)
Handle a disco#items request.
source code
 
_session_started(self)
Called when session is started.
source code
 
authorized(self)
Handle "authorized" event.
source code
DiscoInfo
disco_get_info(self, node, iq)
Return Disco#info data for a node.
source code
DiscoInfo
disco_get_items(self, node, iq)
Return Disco#items data for a node.
source code
 
process_registration_form(self, stanza, form)
Fill-in the registration form provided by the server.
source code

Inherited from client.Client: authenticated, connected, disconnect, disconnected, get_socket, get_stream, idle, loop, request_roster, request_session, roster_updated, session_started, stream_closed, stream_created, stream_error, stream_state_changed

Instance Variables [hide private]
  disco_identity
: default identity of the default disco_info.
: DiscoInfo disco_info
: default Disco#info reply for a query to an empty node -- provides information about the client and its supported fetures.
: DiscoItems disco_items
: default Disco#items reply for a query to an empty node.
: bool register
: when True than registration will be started instead of authentication.

Inherited from client.Client: auth_methods, interface_providers, jid, keepalive, lock, password, port, roster, server, session_established, state_changed, stream

Method Details [hide private]

__init__(self, jid=None, password=None, server=None, port=5222, auth_methods=('sasl:DIGEST-MD5', 'digest'), tls_settings=None, keepalive=0, disco_name=u'pyxmpp based Jabber client', disco_category=u'client', disco_type=u'pc')
(Constructor)

source code 
Initialize a JabberClient object.
Parameters:
  • jid (: pyxmpp.JID) - : user full JID for the connection.
  • password (: unicode) - : user password.
  • server (: unicode) - : server to use. If not given then address will be derived form the JID.
  • port (: int) - : port number to use. If not given then address will be derived form the JID.
  • auth_methods (: sequence of str) - : sallowed authentication methods. SASL authentication mechanisms in the list should be prefixed with "sasl:" string.
  • tls_settings (: pyxmpp.TLSSettings) - : settings for StartTLS -- TLSSettings instance.
  • keepalive (: int) - : keepalive output interval. 0 to disable.
  • disco_name (: unicode) - : name of the client identity in the disco#info replies.
  • disco_category (: unicode) - : category of the client identity in the disco#info replies. The default of u'client' should be the right choice in most cases.
  • disco_type (: unicode) - : type of the client identity in the disco#info replies. Use the types registered by Jabber Registrar
Overrides: client.Client.__init__

connect(self, register=False)

source code 

Connect to the server and set up the stream.

Set self.stream and notify self.state_changed when connection succeeds. Additionally, initialize Disco items and info of the client.

Overrides: client.Client.connect

register_feature(self, feature_name)

source code 
Register a feature to be announced by Service Discovery.
Parameters:
  • feature_name (: unicode) - : feature namespace or name.

unregister_feature(self, feature_name)

source code 
Unregister a feature to be announced by Service Discovery.
Parameters:
  • feature_name (: unicode) - : feature namespace or name.

submit_registration_form(self, form)

source code 
Submit a registration form
Parameters:

__disco_info(self, iq)

source code 

Handle a disco#info request.

self.disco_get_info method will be used to prepare the query response.

Parameters:

__disco_items(self, iq)

source code 

Handle a disco#items request.

self.disco_get_items method will be used to prepare the query response.

Parameters:

_session_started(self)

source code 

Called when session is started.

Activates objects from self.interface_provides by installing their disco features.

Overrides: client.Client._session_started

authorized(self)

source code 
Handle "authorized" event. May be overriden in derived classes. By default: request an IM session and setup Disco handlers.
Overrides: client.Client.authorized

disco_get_info(self, node, iq)

source code 
Return Disco#info data for a node.
Parameters:
  • node (: unicode) - : the node queried.
  • iq (: pyxmpp.iq.Iq) - : the request stanza received.
Returns: DiscoInfo
self.disco_info if node is empty or None otherwise.

disco_get_items(self, node, iq)

source code 
Return Disco#items data for a node.
Parameters:
  • node (: unicode) - : the node queried.
  • iq (: pyxmpp.iq.Iq) - : the request stanza received.
Returns: DiscoInfo
self.disco_info if node is empty or None otherwise.

process_registration_form(self, stanza, form)

source code 

Fill-in the registration form provided by the server.

This default implementation fills-in "username" and "passwords" fields only and instantly submits the form.

Parameters: