From 84137694e1be14446a6d8a6731bc29321761765b Mon Sep 17 00:00:00 2001 From: Holger <holger@nahrstaedt.de> Date: Mon, 30 Jul 2018 13:22:50 +0200 Subject: [PATCH] Add missing trx_num to streamed block operation * set_next_node_on_empty_reply added to some appbase rpc calls --- README.rst | 7 +++++++ beem/account.py | 2 +- beem/blockchain.py | 6 ++++-- beem/utils.py | 2 ++ tests/beem/test_discussions.py | 7 ++++++- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index c0e0174c..e2b4303e 100644 --- a/README.rst +++ b/README.rst @@ -156,6 +156,13 @@ before transmitting the packed file. Please check the hash-sum after downloading Changelog ========= +0.19.51 +------- +* Add missing trx_num to streamed block operation +* Add d.tube format to resolve_authorperm +* disable_chain_detection added to graphenerpc (for testing hivemind e.g.) +* set_next_node_on_empty_reply added to some appbase rpc calls + 0.19.50 ------- * Class to access Steemit Conveyor instances added by crokkon diff --git a/beem/account.py b/beem/account.py index 8ca130d2..42883a6f 100644 --- a/beem/account.py +++ b/beem/account.py @@ -94,7 +94,7 @@ class Account(BlockchainObject): """ if not self.steem.is_connected(): return - self.steem.rpc.set_next_node_on_empty_reply(False) + self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) if self.steem.rpc.get_use_appbase(): account = self.steem.rpc.find_accounts({'accounts': [self.identifier]}, api="database") else: diff --git a/beem/blockchain.py b/beem/blockchain.py index a2828f54..131e84e4 100644 --- a/beem/blockchain.py +++ b/beem/blockchain.py @@ -675,7 +675,7 @@ class Blockchain(object): 'memo': 'https://steemit.com/lofi/@johngreenfield/lofi-joji-yeah-right', '_id': '6d4c5f2d4d8ef1918acaee4a8dce34f9da384786', 'timestamp': datetime.datetime(2018, 5, 9, 11, 23, 6, tzinfo=<UTC>), - 'block_num': 22277588, 'trx_id': 'cf11b2ac8493c71063ec121b2e8517ab1e0e6bea' + 'block_num': 22277588, 'trx_num': 35, 'trx_id': 'cf11b2ac8493c71063ec121b2e8517ab1e0e6bea' } output when `raw_ops=True` is set: @@ -733,6 +733,7 @@ class Blockchain(object): if not bool(opNames) or op_type in opNames and block_num > 0: if raw_ops: yield {"block_num": block_num, + "trx_num": trx_nr, "op": [op_type, op], "timestamp": timestamp} else: @@ -741,6 +742,7 @@ class Blockchain(object): updated_op.update({"_id": _id, "timestamp": timestamp, "block_num": block_num, + "trx_num": trx_nr, "trx_id": trx_id}) yield updated_op @@ -800,7 +802,7 @@ class Blockchain(object): lastname = None else: lastname = start - self.steem.rpc.set_next_node_on_empty_reply(False) + self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) while True: if self.steem.rpc.get_use_appbase(): ret = self.steem.rpc.list_accounts({'start': lastname, 'limit': steps, 'order': 'by_name'}, api="database")["accounts"] diff --git a/beem/utils.py b/beem/utils.py index 09b688f5..746c773c 100644 --- a/beem/utils.py +++ b/beem/utils.py @@ -268,6 +268,8 @@ def remove_from_dict(obj, keys=list(), keep_keys=True): """ if type(obj) == dict: items = list(obj.items()) + elif isinstance(obj, dict): + items = list(obj.items()) else: items = list(obj.__dict__.items()) if keep_keys: diff --git a/tests/beem/test_discussions.py b/tests/beem/test_discussions.py index 742673dc..04d96277 100644 --- a/tests/beem/test_discussions.py +++ b/tests/beem/test_discussions.py @@ -12,7 +12,7 @@ from beem.discussions import ( Post_discussions_by_payout, Discussions_by_created, Discussions_by_active, Discussions_by_cashout, Discussions_by_votes, Discussions_by_children, Discussions_by_hot, Discussions_by_feed, Discussions_by_blog, - Discussions_by_comments, Discussions_by_promoted + Discussions_by_comments, Discussions_by_promoted, Discussions ) from datetime import datetime from beem.instance import set_shared_steem_instance @@ -214,4 +214,9 @@ class Testcases(unittest.TestCase): query["limit"] = 10 query["tag"] = "steemit" d = Discussions_by_promoted(query, steem_instance=bts) + discussions = Discussions(steem_instance=bts) + d2 = [] + for dd in discussions.get_discussions("promoted", query, limit=10): + d2.append(dd) self.assertEqual(len(d), 10) + self.assertEqual(len(d2), 10) -- GitLab