diff --git a/README.rst b/README.rst index c0e0174ca9f190b04582ed16cc7a9a7d399ebbe5..e2b4303e13e8995e70e818a8c53767ea61fa37dc 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 8ca130d28bec1df8f0e241432c595f9bcc689985..42883a6f32a5b2a06e1b49ec2b2829d989598963 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 a2828f5421c7ec89e758f57e0e215406dee295e9..131e84e470e5c75bfd45f3e39d9d3a186d050098 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 09b688f57a9d5eeafcfc701e8944ad0e2d3e6f79..746c773cf4dc5237bea5be559826c80901a5ccc9 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 742673dca170861f5b953cb3149ba29365e30cf2..04d96277ad76eefd65fa9cd85dd48ea0f66d37eb 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)