phoenix_title wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider

Default implementation of the ITopicDefnProvider API. This implementation accepts several formats for the topic tree source data and delegates to a registered ITopicDefnDeserializer that converts source data into topic definitions.

This provider is instantiated automatically by pub.addTopicDefnProvider(source, format) when source is not an ITopicDefnProvider.

Additional de-serializers can be registered via registerTypeForImport().


class_hierarchy Class Hierarchy

Inheritance diagram for class TopicDefnProvider:

method_summary Methods Summary

__init__

Find the correct de-serializer class from registry for the given

getDefn

Must return a pair (string, ArgSpecGiven) for given topic.

getTreeDoc

Get the docstring for the topic tree.

topicNames

Return an iterator over topic names available from this provider.


api Class API

class TopicDefnProvider(ITopicDefnProvider)

Default implementation of the ITopicDefnProvider API. This implementation accepts several formats for the topic tree source data and delegates to a registered ITopicDefnDeserializer that converts source data into topic definitions.

This provider is instantiated automatically by pub.addTopicDefnProvider(source, format) when source is not an ITopicDefnProvider.

Additional de-serializers can be registered via registerTypeForImport().


Methods

__init__(self, source, format, **providerKwargs)

Find the correct de-serializer class from registry for the given format; instantiate it with given source and providerKwargs; get all available topic definitions.



getDefn(self, topicNameTuple)

Must return a pair (string, ArgSpecGiven) for given topic. The first item is a description for topic, the second item contains the message data specification (MDS). Note topic name is in tuple format (‘a’, ‘b’, ‘c’) rather than ‘a.b.c’.



getTreeDoc(self)

Get the docstring for the topic tree.



topicNames(self)

Return an iterator over topic names available from this provider. Note that the topic names should be in tuple rather than dotted-string format so as to be compatible with getDefn().