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().
Methods Summary¶__init__ |
Find the correct de-serializer class from registry for the given |
getDefn |
|
getTreeDoc |
|
initTypeRegistry |
|
registerTypeForImport |
If a new type of importer is defined for topic definitions, it |
topicNames |
Class API¶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().
__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)¶getTreeDoc(self)¶initTypeRegistry(cls)¶registerTypeForImport(cls, typeName, providerClassObj)¶If a new type of importer is defined for topic definitions, it can be registered with pubsub by providing a name for the new importer (typeName), and the class to instantiate when pub.addTopicDefnProvider(obj, typeName) is called. For instance,
from pubsub.core.topicdefnprovider import ITopicDefnDeserializer
class SomeNewImporter(ITopicDefnDeserializer):
...
TopicDefnProvider.registerTypeForImport('some name', SomeNewImporter)
# will instantiate SomeNewImporter(source)
pub.addTopicDefnProvider(source, 'some name')
topicNames(self)¶