Back to snippets

kiota_text_serialization_provider_registration_and_usage.py

python

Registers and uses the Text-based serialization and p

15d ago28 linesmicrosoft/kiota-python
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())