diff --git a/README.rst b/README.rst index 8bcf6ec06903a306cf3e445453abd1091dc208f1..a6a09806ee5a69de8e8c23908034e6e24f397e60 100644 --- a/README.rst +++ b/README.rst @@ -130,7 +130,7 @@ Changelog ========= 0.19.23 ------- -* new function for beempy added: power, follower, following, muter, muting +* new function for beempy added: power, follower, following, muter, muting, mute, nextnode, pingnode, currentnode * support for read-only systems added * more unit tests * Several improvements and bug fixes diff --git a/beem/blockchain.py b/beem/blockchain.py index ed8a242e9fb34d96fa845b2590731082cd8f1b40..9601d7121aa7a6137af5c1b871fc7e244251fedb 100644 --- a/beem/blockchain.py +++ b/beem/blockchain.py @@ -224,7 +224,7 @@ class Blockchain(object): else: self.steem.rpc.get_block(blocknum, add_to_queue=True) latest_block = blocknum - if batches > 1: + if batches >= 1: latest_block += 1 if latest_block <= head_block: if self.steem.rpc.get_use_appbase(): diff --git a/beem/cli.py b/beem/cli.py index 19cc2fbb36b44c9cc1d8733ed0511e403833c3df..e12174fdeeeb57cb4aba620dc4bd417427e74903 100644 --- a/beem/cli.py +++ b/beem/cli.py @@ -163,6 +163,9 @@ def nextnode(): """ stm = shared_steem_instance() node = stm.get_default_nodes() + if len(node) < 2: + print("At least two nodes are needed!") + return node = node[1:] + [node[0]] stm.set_default_nodes(node) diff --git a/beemgrapheneapi/graphenerpc.py b/beemgrapheneapi/graphenerpc.py index ee65895edd2911b3fb94de969f90ef75f208e277..0df11163796172ffe4234a6b7cd9d8fa0262b6a4 100644 --- a/beemgrapheneapi/graphenerpc.py +++ b/beemgrapheneapi/graphenerpc.py @@ -364,8 +364,6 @@ class GrapheneRPC(object): self.rpc_queue.append(query) query = self.rpc_queue self.rpc_queue = [] - if isinstance(query, list): - self._request_id += len(query) - 1 r = self.rpcexec(query) return r return method diff --git a/tests/beem/test_blockchain_batch.py b/tests/beem/test_blockchain_batch.py index 45b9f3cb9366f25eaf98ba80c0c976f9f384a18b..92c6e4d7114a26ded01c2c06777e5f32f01eef65 100644 --- a/tests/beem/test_blockchain_batch.py +++ b/tests/beem/test_blockchain_batch.py @@ -36,6 +36,7 @@ class Testcases(unittest.TestCase): num = b.get_current_block_num() cls.start = num - 25 cls.stop = num + cls.max_batch_size = 1 # appbase does not support batch rpc calls at the momement (internal error) def test_stream_batch(self): bts = self.bts @@ -47,7 +48,7 @@ class Testcases(unittest.TestCase): self.assertTrue(len(ops_stream) > 0) op_stat = b.ops_statistics(start=self.start, stop=self.stop) ops_blocks = [] - for op in b.blocks(start=self.start, stop=self.stop, max_batch_size=2, threading=False): + for op in b.blocks(start=self.start, stop=self.stop, max_batch_size=self.max_batch_size, threading=False): ops_blocks.append(op) op_stat4 = {"transfer": 0, "vote": 0} self.assertTrue(len(ops_blocks) > 0) diff --git a/tests/beem/test_cli.py b/tests/beem/test_cli.py index 1d60c28dd6fb12d7a389e161b85fbfee8c84dd2a..4507faa171b6a440759facad27af48233a46f28d 100644 --- a/tests/beem/test_cli.py +++ b/tests/beem/test_cli.py @@ -327,8 +327,10 @@ class Testcases(unittest.TestCase): def test_nextnode(self): runner = CliRunner() + runner.invoke(cli, ['-o', 'set', 'nodes', '']) result = runner.invoke(cli, ['-o', 'nextnode']) self.assertEqual(result.exit_code, 0) + runner.invoke(cli, ['-o', 'set', 'nodes', 'wss://testnet.steem.vc']) def test_pingnode(self): runner = CliRunner()