as the legacy v1 API, but using the latest (ie non legacy) API. Note that once :mod:pub has been imported, the messaging protocol cannot be changed. Also, if migrating an application from 'arg1' to 'kwargs' style messaging, see :func:transitionFromArg1() in this module and the :func:enforceArgName() of setuparg1 module. :copyright: Copyright 2006-2009 by Oliver Schoenborn, all rights reserved. :license: BSD, see LICENSE.txt for details. ''' import pubsubconf pubsubconf.setVersion(3) import core core.setMsgProtocol('kwargs') def transitionFromArg1(commonName): '''This will require that all calls to pub.sendMessage() use the kwargs protocol, ie named arguments for the message data. This is a useful step after setuparg1.enforceArgName(commonName) was used and the application debugged. Replace the latter with :: setupkwargs.transitionFromArg1(commonName) After this stage tested and debugged, this function call can be removed, and all reference to the .data attribute of the message object received can be removed in all listeners, allowing the application to run in the default messaging protocol (kwargs) used by pubsub version >= 3.
is *deprecated*. This module is therefore *deprecated*. Usage: Import this file before the first 'from pubsub import pub' statement to make pubsub use the *arg1* messaging protocol:: from pubsub import setuparg1 from pubsub import pub Note that once :mod:pub has been imported, the messaging protocol must NOT be changed. If you want to migrate an application from 'arg1' to 'kwargs' style messaging, this module provides a function, :func:enforceArgName(), which can help you in this endeavour. :copyright: Copyright since 2006 by Oliver Schoenborn, all rights reserved. :license: BSD, see LICENSE.txt for details. ''' import core core.setMsgProtocol('arg1') def enforceArgName(commonName): '''This will configure pubsub to require that all listeners use the same argument name (*commonName*) as first parameter. This could be a ueful first step in transitioning an application that has been using *arg1* protocol to the more powerful *kwargs* protocol. ''' core.setMsgDataArgName(1, commonName)