def get_conversation_view_definition(conversation_type, conv=None): # Scoped import to avoid circular deps. from go.conversation.view_definition import ConversationViewDefinitionBase try: app_pkg = get_conversation_pkg( conversation_type, ['definition', 'view_definition']) except UnknownConversationType: # To handle obsolete conversations that are still viewable if conversation_type not in obsolete_conversation_types(): raise from go.vumitools.conversation.definition import ( ConversationDefinitionBase) conv_def = ConversationDefinitionBase(conv) conv_def.conversation_type = conversation_type return ConversationViewDefinitionBase(conv_def) conv_def = app_pkg.definition.ConversationDefinition(conv) if not hasattr(app_pkg, 'view_definition'): return ConversationViewDefinitionBase(conv_def) return app_pkg.view_definition.ConversationViewDefinition(conv_def)
def test_get_conversation_pkg(self): pkg = get_conversation_pkg('bulk_message', ['definition']) self.assertEqual(pkg.__name__, 'go.apps.bulk_message')