Package xmpp :: Module commands
[hide private]
[frames] | no frames]

Module commands

source code

This module is a ad-hoc command processor for xmpppy. It uses the plug-in mechanism like most of the core library. It depends on a DISCO browser manager.

There are 3 classes here, a command processor Commands like the Browser, and a command template plugin Command, and an example command.

To use this module:
    
    Instansiate the module with the parent transport and disco browser manager as parameters.
    'Plug in' commands using the command template.
    The command feature must be added to existing disco replies where neccessary.
    
What it supplies:
    
    Automatic command registration with the disco browser manager.
    Automatic listing of commands in the public command list.
    A means of handling requests, by redirection though the command manager.



Classes [hide private]
  Commands
Commands is an ancestor of PlugIn and can be attached to any session.
  Command_Handler_Prototype
This is a prototype command handler, as each command uses a disco method and execute method you can implement it any way you like, however this is my first attempt at making a generic handler that you can hang process stages on too.
  TestCommand
Example class.
Variables [hide private]
  ERRORS = {'urn:ietf:params:xml:ns:xmpp-sasl aborted': ['', '',...
  ERR_BAD_REQUEST = 'urn:ietf:params:xml:ns:xmpp-stanzas bad-req...
  ERR_CONFLICT = 'urn:ietf:params:xml:ns:xmpp-stanzas conflict'
  ERR_FEATURE_NOT_IMPLEMENTED = 'urn:ietf:params:xml:ns:xmpp-sta...
  ERR_FORBIDDEN = 'urn:ietf:params:xml:ns:xmpp-stanzas forbidden'
  ERR_GONE = 'urn:ietf:params:xml:ns:xmpp-stanzas gone'
  ERR_INTERNAL_SERVER_ERROR = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_ITEM_NOT_FOUND = 'urn:ietf:params:xml:ns:xmpp-stanzas item...
  ERR_JID_MALFORMED = 'urn:ietf:params:xml:ns:xmpp-stanzas jid-m...
  ERR_NOT_ACCEPTABLE = 'urn:ietf:params:xml:ns:xmpp-stanzas not-...
  ERR_NOT_ALLOWED = 'urn:ietf:params:xml:ns:xmpp-stanzas not-all...
  ERR_NOT_AUTHORIZED = 'urn:ietf:params:xml:ns:xmpp-stanzas not-...
  ERR_PAYMENT_REQUIRED = 'urn:ietf:params:xml:ns:xmpp-stanzas pa...
  ERR_RECIPIENT_UNAVAILABLE = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_REDIRECT = 'urn:ietf:params:xml:ns:xmpp-stanzas redirect'
  ERR_REGISTRATION_REQUIRED = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_REMOTE_SERVER_NOT_FOUND = 'urn:ietf:params:xml:ns:xmpp-sta...
  ERR_REMOTE_SERVER_TIMEOUT = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_RESOURCE_CONSTRAINT = 'urn:ietf:params:xml:ns:xmpp-stanzas...
  ERR_SERVICE_UNAVAILABLE = 'urn:ietf:params:xml:ns:xmpp-stanzas...
  ERR_SUBSCRIPTION_REQUIRED = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_UNDEFINED_CONDITION = 'urn:ietf:params:xml:ns:xmpp-stanzas...
  ERR_UNEXPECTED_REQUEST = 'urn:ietf:params:xml:ns:xmpp-stanzas ...
  SASL_ABORTED = 'urn:ietf:params:xml:ns:xmpp-sasl aborted'
  SASL_INCORRECT_ENCODING = 'urn:ietf:params:xml:ns:xmpp-sasl in...
  SASL_INVALID_AUTHZID = 'urn:ietf:params:xml:ns:xmpp-sasl inval...
  SASL_INVALID_MECHANISM = 'urn:ietf:params:xml:ns:xmpp-sasl inv...
  SASL_MECHANISM_TOO_WEAK = 'urn:ietf:params:xml:ns:xmpp-sasl me...
  SASL_NOT_AUTHORIZED = 'urn:ietf:params:xml:ns:xmpp-sasl not-au...
  SASL_TEMPORARY_AUTH_FAILURE = 'urn:ietf:params:xml:ns:xmpp-sas...
  STREAM_BAD_FORMAT = 'urn:ietf:params:xml:ns:xmpp-streams bad-f...
  STREAM_BAD_NAMESPACE_PREFIX = 'urn:ietf:params:xml:ns:xmpp-str...
  STREAM_CONFLICT = 'urn:ietf:params:xml:ns:xmpp-streams conflict'
  STREAM_CONNECTION_TIMEOUT = 'urn:ietf:params:xml:ns:xmpp-strea...
  STREAM_HOST_GONE = 'urn:ietf:params:xml:ns:xmpp-streams host-g...
  STREAM_HOST_UNKNOWN = 'urn:ietf:params:xml:ns:xmpp-streams hos...
  STREAM_IMPROPER_ADDRESSING = 'urn:ietf:params:xml:ns:xmpp-stre...
  STREAM_INTERNAL_SERVER_ERROR = 'urn:ietf:params:xml:ns:xmpp-st...
  STREAM_INVALID_FROM = 'urn:ietf:params:xml:ns:xmpp-streams inv...
  STREAM_INVALID_ID = 'urn:ietf:params:xml:ns:xmpp-streams inval...
  STREAM_INVALID_NAMESPACE = 'urn:ietf:params:xml:ns:xmpp-stream...
  STREAM_INVALID_XML = 'urn:ietf:params:xml:ns:xmpp-streams inva...
  STREAM_NOT_AUTHORIZED = 'urn:ietf:params:xml:ns:xmpp-streams n...
  STREAM_POLICY_VIOLATION = 'urn:ietf:params:xml:ns:xmpp-streams...
  STREAM_REMOTE_CONNECTION_FAILED = 'urn:ietf:params:xml:ns:xmpp...
  STREAM_RESOURCE_CONSTRAINT = 'urn:ietf:params:xml:ns:xmpp-stre...
  STREAM_RESTRICTED_XML = 'urn:ietf:params:xml:ns:xmpp-streams r...
  STREAM_SEE_OTHER_HOST = 'urn:ietf:params:xml:ns:xmpp-streams s...
  STREAM_SYSTEM_SHUTDOWN = 'urn:ietf:params:xml:ns:xmpp-streams ...
  STREAM_UNDEFINED_CONDITION = 'urn:ietf:params:xml:ns:xmpp-stre...
  STREAM_UNSUPPORTED_ENCODING = 'urn:ietf:params:xml:ns:xmpp-str...
  STREAM_UNSUPPORTED_STANZA_TYPE = 'urn:ietf:params:xml:ns:xmpp-...
  STREAM_UNSUPPORTED_VERSION = 'urn:ietf:params:xml:ns:xmpp-stre...
  STREAM_XML_NOT_WELL_FORMED = 'urn:ietf:params:xml:ns:xmpp-stre...
  name = 'SASL_TEMPORARY_AUTH_FAILURE'
Variables Details [hide private]

ERRORS

Value:
{'urn:ietf:params:xml:ns:xmpp-sasl aborted': ['',
                                              '',
                                              'The receiving entity ac\
knowledges an <abort/> element sent by the initiating entity; sent in \
reply to the <abort/> element.'],
 'urn:ietf:params:xml:ns:xmpp-sasl incorrect-encoding': ['',
                                                         '',
                                                         'The data pro\
...

ERR_BAD_REQUEST

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas bad-request'

ERR_FEATURE_NOT_IMPLEMENTED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas feature-not-implemented'

ERR_INTERNAL_SERVER_ERROR

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas internal-server-error'

ERR_ITEM_NOT_FOUND

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas item-not-found'

ERR_JID_MALFORMED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas jid-malformed'

ERR_NOT_ACCEPTABLE

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas not-acceptable'

ERR_NOT_ALLOWED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas not-allowed'

ERR_NOT_AUTHORIZED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas not-authorized'

ERR_PAYMENT_REQUIRED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas payment-required'

ERR_RECIPIENT_UNAVAILABLE

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas recipient-unavailable'

ERR_REGISTRATION_REQUIRED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas registration-required'

ERR_REMOTE_SERVER_NOT_FOUND

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas remote-server-not-found'

ERR_REMOTE_SERVER_TIMEOUT

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas remote-server-timeout'

ERR_RESOURCE_CONSTRAINT

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas resource-constraint'

ERR_SERVICE_UNAVAILABLE

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas service-unavailable'

ERR_SUBSCRIPTION_REQUIRED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas subscription-required'

ERR_UNDEFINED_CONDITION

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas undefined-condition'

ERR_UNEXPECTED_REQUEST

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas unexpected-request'

SASL_INCORRECT_ENCODING

Value:
'urn:ietf:params:xml:ns:xmpp-sasl incorrect-encoding'

SASL_INVALID_AUTHZID

Value:
'urn:ietf:params:xml:ns:xmpp-sasl invalid-authzid'

SASL_INVALID_MECHANISM

Value:
'urn:ietf:params:xml:ns:xmpp-sasl invalid-mechanism'

SASL_MECHANISM_TOO_WEAK

Value:
'urn:ietf:params:xml:ns:xmpp-sasl mechanism-too-weak'

SASL_NOT_AUTHORIZED

Value:
'urn:ietf:params:xml:ns:xmpp-sasl not-authorized'

SASL_TEMPORARY_AUTH_FAILURE

Value:
'urn:ietf:params:xml:ns:xmpp-sasl temporary-auth-failure'

STREAM_BAD_FORMAT

Value:
'urn:ietf:params:xml:ns:xmpp-streams bad-format'

STREAM_BAD_NAMESPACE_PREFIX

Value:
'urn:ietf:params:xml:ns:xmpp-streams bad-namespace-prefix'

STREAM_CONNECTION_TIMEOUT

Value:
'urn:ietf:params:xml:ns:xmpp-streams connection-timeout'

STREAM_HOST_GONE

Value:
'urn:ietf:params:xml:ns:xmpp-streams host-gone'

STREAM_HOST_UNKNOWN

Value:
'urn:ietf:params:xml:ns:xmpp-streams host-unknown'

STREAM_IMPROPER_ADDRESSING

Value:
'urn:ietf:params:xml:ns:xmpp-streams improper-addressing'

STREAM_INTERNAL_SERVER_ERROR

Value:
'urn:ietf:params:xml:ns:xmpp-streams internal-server-error'

STREAM_INVALID_FROM

Value:
'urn:ietf:params:xml:ns:xmpp-streams invalid-from'

STREAM_INVALID_ID

Value:
'urn:ietf:params:xml:ns:xmpp-streams invalid-id'

STREAM_INVALID_NAMESPACE

Value:
'urn:ietf:params:xml:ns:xmpp-streams invalid-namespace'

STREAM_INVALID_XML

Value:
'urn:ietf:params:xml:ns:xmpp-streams invalid-xml'

STREAM_NOT_AUTHORIZED

Value:
'urn:ietf:params:xml:ns:xmpp-streams not-authorized'

STREAM_POLICY_VIOLATION

Value:
'urn:ietf:params:xml:ns:xmpp-streams policy-violation'

STREAM_REMOTE_CONNECTION_FAILED

Value:
'urn:ietf:params:xml:ns:xmpp-streams remote-connection-failed'

STREAM_RESOURCE_CONSTRAINT

Value:
'urn:ietf:params:xml:ns:xmpp-streams resource-constraint'

STREAM_RESTRICTED_XML

Value:
'urn:ietf:params:xml:ns:xmpp-streams restricted-xml'

STREAM_SEE_OTHER_HOST

Value:
'urn:ietf:params:xml:ns:xmpp-streams see-other-host'

STREAM_SYSTEM_SHUTDOWN

Value:
'urn:ietf:params:xml:ns:xmpp-streams system-shutdown'

STREAM_UNDEFINED_CONDITION

Value:
'urn:ietf:params:xml:ns:xmpp-streams undefined-condition'

STREAM_UNSUPPORTED_ENCODING

Value:
'urn:ietf:params:xml:ns:xmpp-streams unsupported-encoding'

STREAM_UNSUPPORTED_STANZA_TYPE

Value:
'urn:ietf:params:xml:ns:xmpp-streams unsupported-stanza-type'

STREAM_UNSUPPORTED_VERSION

Value:
'urn:ietf:params:xml:ns:xmpp-streams unsupported-version'

STREAM_XML_NOT_WELL_FORMED

Value:
'urn:ietf:params:xml:ns:xmpp-streams xml-not-well-formed'