def get_document_by_content_object(self, document_family: DocumentFamily, content_object: ContentObject) -> \ Optional[Document]: from kodexa import KodexaPlatform get_response = KodexaPlatform.get_client().get( f"api/stores/{self.ref.replace(':', '/')}/families/{document_family.id}/objects/{content_object.id}/content" ) return Document.from_kddb( get_response.content) if get_response is not None else None
def test_virtual_navigation_with_no_0_index(): document = Document(DocumentMetadata()) node = document.create_node(node_type='loopy') node.content = "banana" document.content_node = node document.content_node.add_child(document.create_node(node_type='loopy', content='banana2'), index=2) assert document.content_node.get_node_at_index(0).content is None assert document.content_node.get_node_at_index( 0).next_node().content is None assert document.content_node.get_node_at_index( 0).next_node().next_node().content == 'banana2' test_kddb = document.to_kddb() new_kddb = Document.from_kddb(test_kddb) assert new_kddb.content_node.get_node_at_index(0).content is None assert new_kddb.content_node.get_node_at_index( 0).next_node().content is None assert new_kddb.content_node.get_node_at_index( 0).next_node().next_node().content == 'banana2'
def test_kddb_conversion(): document = Document.from_kddb( Document.from_msgpack( open(os.path.join(get_test_directory(), 'news-tagged.kdxa'), 'rb').read()).to_kddb()) compare_document(document, "news-kdxa-original.json")