11import asyncio
22import datetime
33from collections import deque
4- from typing import Deque , AsyncIterator , Union , List , Optional
4+ from typing import Deque , AsyncIterator , Union , List
55
66import ydb
77from .topic_writer import (
@@ -76,7 +76,6 @@ async def close(self, *, flush: bool = True):
7676 async def write_with_ack (
7777 self ,
7878 messages : Union [MessageType , List [MessageType ]],
79- * args : Optional [MessageType ],
8079 ) -> Union [PublicWriteResultTypes , List [PublicWriteResultTypes ]]:
8180 """
8281 IT IS SLOWLY WAY. IT IS BAD CHOISE IN MOST CASES.
@@ -86,7 +85,7 @@ async def write_with_ack(
8685
8786 For wait with timeout use asyncio.wait_for.
8887 """
89- futures = await self .write_with_ack_future (messages , * args )
88+ futures = await self .write_with_ack_future (messages )
9089 if not isinstance (futures , list ):
9190 futures = [futures ]
9291
@@ -98,7 +97,6 @@ async def write_with_ack(
9897 async def write_with_ack_future (
9998 self ,
10099 messages : Union [MessageType , List [MessageType ]],
101- * args : Optional [MessageType ],
102100 ) -> Union [asyncio .Future , List [asyncio .Future ]]:
103101 """
104102 send one or number of messages to server.
@@ -108,20 +106,22 @@ async def write_with_ack_future(
108106
109107 For wait with timeout use asyncio.wait_for.
110108 """
109+ input_single_message = not isinstance (messages , list )
111110 if isinstance (messages , PublicMessage ):
112- futures = await self ._reconnector .write_with_ack_future ([messages ])
113- return futures [0 ]
111+ messages = [PublicMessage ._create_message (messages )]
114112 if isinstance (messages , list ):
115- for m in messages :
116- if not isinstance (m , PublicMessage ):
117- raise NotImplementedError ()
118- return await self ._reconnector .write_with_ack_future (messages )
119- raise NotImplementedError ()
113+ for index , m in enumerate (messages ):
114+ messages [index ] = PublicMessage ._create_message (m )
115+
116+ futures = await self ._reconnector .write_with_ack_future (messages )
117+ if input_single_message :
118+ return futures [0 ]
119+ else :
120+ return futures
120121
121122 async def write (
122123 self ,
123124 messages : Union [MessageType , List [MessageType ]],
124- * args : Optional [MessageType ],
125125 ):
126126 """
127127 send one or number of messages to server.
0 commit comments