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__ |
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 |
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)¶