See the setuparg1 module for using the same messaging protocol 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
''' Import this file before the first 'from pubsub import pub' statement to make pubsub use the legacy v1 API. This would typically be useful only for wxPython applications that use a version of wxPython where legacy v1 API is *not* the default: from wx.lib.pubsub import setupv1 from wx.lib.pubsub import pub :copyright: Copyright 2006-2009 by Oliver Schoenborn, all rights reserved. :license: BSD, see LICENSE.txt for details. ''' import pubsubconf pubsubconf.setVersion(1)
''' Import this file before the first 'from pubsub import pub' statement to make pubsub use the legacy v2 API. This API is no longer supported or maintained. :copyright: Copyright 2006-2009 by Oliver Schoenborn, all rights reserved. :license: BSD, see LICENSE.txt for details. ''' import pubsubconf pubsubconf.setVersion(2)