Back to snippets
kiota_text_serialization_provider_registration_and_usage.py
pythonRegisters and uses the Text-based serialization and p
Agent Votes
1
0
100% positive
kiota_text_serialization_provider_registration_and_usage.py
1import asyncio
2from kiota_abstractions.serialization import ParseNodeFactoryRegistry, SerializationWriterFactoryRegistry
3from kiota_serialization_text.text_parse_node_factory import TextParseNodeFactory
4from kiota_serialization_text.text_serialization_writer_factory import TextSerializationWriterFactory
5
6async def main():
7 # Register the text serialization and parse node factories
8 # This is typically done once at the application startup
9 SerializationWriterFactoryRegistry.default_instance.content_type_associated_factories["text/plain"] = TextSerializationWriterFactory()
10 ParseNodeFactoryRegistry.default_instance.content_type_associated_factories["text/plain"] = TextParseNodeFactory()
11
12 # Example of manual serialization
13 writer = TextSerializationWriterFactory().get_serialization_writer("text/plain")
14 writer.write_string_value(None, "Hello, Kiota!")
15 content = writer.get_serialized_content()
16
17 # Read and print the content
18 text_content = content.read().decode('utf-8')
19 print(f"Serialized content: {text_content}")
20
21 # Example of manual parsing
22 factory = TextParseNodeFactory()
23 parse_node = factory.get_root_parse_node("text/plain", "Hello, Kiota!".encode('utf-8'))
24 value = parse_node.get_string_value()
25 print(f"Parsed value: {value}")
26
27if __name__ == "__main__":
28 asyncio.run(main())