From 235c91bf7cccdd1b2a57fa04efc34b6ebe6039ca Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Wed, 7 Oct 2026 16:40:38 +0000 Subject: [PATCH] ThornodeServer: new `setvar` method --- test/cmdtest_d/httpd/thornode/__init__.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/cmdtest_d/httpd/thornode/__init__.py b/test/cmdtest_d/httpd/thornode/__init__.py index 7734ef60..ae66adfa 100644 --- a/test/cmdtest_d/httpd/thornode/__init__.py +++ b/test/cmdtest_d/httpd/thornode/__init__.py @@ -15,3 +15,23 @@ from .. import HTTPD class ThornodeServer(HTTPD): name = 'thornode server' content_type = 'application/json' + + var_actions = {} + chain_var_actions = {} + + def get_idx(self, key, coin): + return next(n for n, e in enumerate(getattr(self, key)) if e['chain'] == coin) + + def set_var(self, key, name, val): + getattr(self, key)[name] = val + + def set_chain_var(self, key, chain, name, val): + getattr(self, key)[self.get_idx(key, chain)][name] = val + + def setvar(self, name, val): + if name in self.var_actions: + self.set_var(*self.var_actions[name], val) + elif name in self.chain_var_actions: + self.set_chain_var(*self.chain_var_actions[name], val) + else: + raise ValueError(f'{name!r}: unrecognized action')