From ef18f9ec36fdb95492b677bebd88ed43269ef3e3 Mon Sep 17 00:00:00 2001 From: Holger <holger@nahrstaedt.de> Date: Thu, 12 Jul 2018 12:59:42 +0200 Subject: [PATCH] Prepare next release and add next_witness_block_countdown example --- beem/version.py | 2 +- beemapi/version.py | 2 +- beembase/version.py | 2 +- beemgraphenebase/version.py | 2 +- examples/next_witness_block_coundown.py | 54 +++++++++++++++++++++++++ setup.py | 2 +- 6 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 examples/next_witness_block_coundown.py diff --git a/beem/version.py b/beem/version.py index d727f28f..cb4b7ad6 100644 --- a/beem/version.py +++ b/beem/version.py @@ -1,2 +1,2 @@ """THIS FILE IS GENERATED FROM beem SETUP.PY.""" -version = '0.19.48' +version = '0.19.49' diff --git a/beemapi/version.py b/beemapi/version.py index d727f28f..cb4b7ad6 100644 --- a/beemapi/version.py +++ b/beemapi/version.py @@ -1,2 +1,2 @@ """THIS FILE IS GENERATED FROM beem SETUP.PY.""" -version = '0.19.48' +version = '0.19.49' diff --git a/beembase/version.py b/beembase/version.py index d727f28f..cb4b7ad6 100644 --- a/beembase/version.py +++ b/beembase/version.py @@ -1,2 +1,2 @@ """THIS FILE IS GENERATED FROM beem SETUP.PY.""" -version = '0.19.48' +version = '0.19.49' diff --git a/beemgraphenebase/version.py b/beemgraphenebase/version.py index d727f28f..cb4b7ad6 100644 --- a/beemgraphenebase/version.py +++ b/beemgraphenebase/version.py @@ -1,2 +1,2 @@ """THIS FILE IS GENERATED FROM beem SETUP.PY.""" -version = '0.19.48' +version = '0.19.49' diff --git a/examples/next_witness_block_coundown.py b/examples/next_witness_block_coundown.py new file mode 100644 index 00000000..3c6d83d2 --- /dev/null +++ b/examples/next_witness_block_coundown.py @@ -0,0 +1,54 @@ +#!/usr/bin/python +import sys +from beem import Steem +from beem.witness import Witness, WitnessesRankedByVote +from time import sleep + + +def convert_block_diff_to_time_string(block_diff_est): + next_block_s = int(block_diff_est) * 3 + next_block_min = next_block_s / 60 + next_block_h = next_block_min / 60 + next_block_d = next_block_h / 24 + time_diff_est = "" + if next_block_d > 1: + time_diff_est = "%.2f days" % next_block_d + elif next_block_h > 1: + time_diff_est = "%.2f hours" % next_block_h + elif next_block_min > 1: + time_diff_est = "%.2f minutes" % next_block_min + else: + time_diff_est = "%.2f seconds" % next_block_s + return time_diff_est + + +if __name__ == "__main__": + if len(sys.argv) != 2: + witness = "holger80" + else: + witness = sys.argv[1] + stm = Steem() + witness = Witness(witness, steem_instance=stm) + + witness_schedule = stm.get_witness_schedule() + config = stm.get_config() + if "VIRTUAL_SCHEDULE_LAP_LENGTH2" in config: + lap_length = int(config["VIRTUAL_SCHEDULE_LAP_LENGTH2"]) + else: + lap_length = int(config["STEEM_VIRTUAL_SCHEDULE_LAP_LENGTH2"]) + witnesses = WitnessesRankedByVote(limit=250, steem_instance=stm) + vote_sum = witnesses.get_votes_sum() + + virtual_time_to_block_num = int(witness_schedule["num_scheduled_witnesses"]) / (lap_length / (vote_sum + 1)) + while True: + witness.refresh() + witness_schedule = stm.get_witness_schedule(use_stored_data=False) + + witness_json = witness.json() + virtual_diff = int(witness_json["virtual_scheduled_time"]) - int(witness_schedule['current_virtual_time']) + block_diff_est = virtual_diff * virtual_time_to_block_num + + time_diff_est = convert_block_diff_to_time_string(block_diff_est) + + sys.stdout.write("\r Next block for %s in %s" % (witness["owner"], time_diff_est)) + sleep(30) diff --git a/setup.py b/setup.py index 5c7eafb4..827747e8 100755 --- a/setup.py +++ b/setup.py @@ -16,7 +16,7 @@ except LookupError: ascii = codecs.lookup('ascii') codecs.register(lambda name, enc=ascii: {True: enc}.get(name == 'mbcs')) -VERSION = '0.19.48' +VERSION = '0.19.49' tests_require = ['mock >= 2.0.0', 'pytest', 'pytest-mock', 'parameterized'] -- GitLab