Core package of pubsub, holding the publisher, listener, and topic object modules. Functions defined here are used internally by pubsub so that the right modules can be found later, based on the selected messaging protocol.
Indeed some of the API depends on the messaging protocol used. For instance sendMessage(), defined in publisher.py, has a different signature (and hence implementation) for the kwargs protocol than for the arg1 protocol.
The most convenient way to support this is to put the parts of the package that differ based on protocol in separate folder, and add one of those folders to the package’s __path__ variable (defined automatically by the Python interpreter when __init__.py is executed). For instance, code specific to the kwargs protocol goes in the kwargs folder, and code specific to the arg1 protocol in the arg1 folder. Then when doing “from pubsub.core import listener”, the correct listener.py will be found for the specified protocol. The default protocol is kwargs.
Only one protocol can be used in an application. The default protocol, if none is chosen by user, is kwargs, as selected by the call to _prependModulePath() at end of this file.
Copyright since 2006 by Oliver Schoenborn, all rights reserved.
BSD, see LICENSE_BSD_Simple.txt for details.
Low level functions and classes related to callables. |
|
|
|
The _resolve_name and _import_module were taken from the backport of |
|
Top-level functionality related to message listeners. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Definitions related to message data specification. |
|
|
|
|
|
|
|
Code related to the concept of topic tree and its management: creating |
|
|
|
Provide the Topic class. |
|
|
|
Various utilities used by topic-related modules. |
|
|
|
Some topic definition validation functions. |
|
This module provides a basic “weak method” implementation, WeakMethod. It uses |