@@ -191,6 +191,16 @@ def disconnect_p2ps(self):
191
191
p .peer_disconnect ()
192
192
del self .p2ps [:]
193
193
194
+ class TestNodeCLIAttr :
195
+ def __init__ (self , cli , command ):
196
+ self .cli = cli
197
+ self .command = command
198
+
199
+ def __call__ (self , * args , ** kwargs ):
200
+ return self .cli .send_cli (self .command , * args , ** kwargs )
201
+
202
+ def get_request (self , * args , ** kwargs ):
203
+ return lambda : self (* args , ** kwargs )
194
204
195
205
class TestNodeCLI ():
196
206
"""Interface to bitcoin-cli for an individual node"""
@@ -209,9 +219,16 @@ def __call__(self, *args, input=None):
209
219
return cli
210
220
211
221
def __getattr__ (self , command ):
212
- def dispatcher (* args , ** kwargs ):
213
- return self .send_cli (command , * args , ** kwargs )
214
- return dispatcher
222
+ return TestNodeCLIAttr (self , command )
223
+
224
+ def batch (self , requests ):
225
+ results = []
226
+ for request in requests :
227
+ try :
228
+ results .append (dict (result = request ()))
229
+ except JSONRPCException as e :
230
+ results .append (dict (error = e ))
231
+ return results
215
232
216
233
def send_cli (self , command , * args , ** kwargs ):
217
234
"""Run bitcoin-cli command. Deserializes returned string as python object."""
0 commit comments