diff --git a/silkaj/commands.py b/silkaj/commands.py index 78e0e85fcf5c62673c111b86b8778f396c1fea42..63bcdd28a27dee58b495270adc17d3179b9f5101 100644 --- a/silkaj/commands.py +++ b/silkaj/commands.py @@ -15,15 +15,16 @@ You should have received a copy of the GNU Affero General Public License along with Silkaj. If not, see <https://www.gnu.org/licenses/>. """ +import aiohttp +import jsonschema +from pendulum import from_timestamp from click import command, option, argument, IntRange from os import system from collections import OrderedDict from tabulate import tabulate from operator import itemgetter from asyncio import sleep -import aiohttp from _socket import gaierror -import jsonschema from duniterpy.api import bma @@ -36,8 +37,7 @@ from silkaj.network_tools import ( ) from silkaj.blockchain_tools import HeadBlock from silkaj.tools import CurrencySymbol -from silkaj.tui import convert_time -from silkaj.constants import ASYNC_SLEEP +from silkaj.constants import ASYNC_SLEEP, ALL, HOUR @command("info", help="Display information about currency") @@ -45,6 +45,8 @@ from silkaj.constants import ASYNC_SLEEP async def currency_info(): head_block = await HeadBlock().head_block ep = EndPoint().ep + current_time = from_timestamp(head_block["time"], tz="local") + mediantime = from_timestamp(head_block["medianTime"], tz="local") print( "Connected to node:", ep[best_endpoint_address(ep, False)], @@ -58,11 +60,11 @@ async def currency_info(): "\nMinimal Proof-of-Work:", head_block["powMin"], "\nCurrent time:", - convert_time(head_block["time"], "all"), + current_time.format(ALL), "\nMedian time:", - convert_time(head_block["medianTime"], "all"), + mediantime.format(ALL), "\nDifference time:", - convert_time(head_block["time"] - head_block["medianTime"], "hour"), + current_time.diff_for_humans(mediantime, True), ) client = ClientInstance().client await client.close() @@ -125,11 +127,11 @@ def display_diffi(current, diffi): d["Σ diffi"] = d.pop("level") system("cls||clear") print( - "Current block: n°{0}, generated on the {1}\n\ + "Current block: n°{0}, generated on {1}\n\ Generation of next block n°{2} possible by at least {3}/{4} members\n\ Common Proof-of-Work difficulty level: {5}, hash starting with `{6}`\n{7}".format( current["number"], - convert_time(current["time"], "all"), + from_timestamp(current["time"], tz="local").format(ALL), diffi["block"], issuers, len(diffi["levels"]), @@ -164,9 +166,11 @@ async def list_blocks(number, detailed): issuer = OrderedDict() issuer["pubkey"] = block["issuer"] if detailed or number <= 30: + gentime = from_timestamp(block["time"], tz="local").format(ALL) + mediantime = from_timestamp(block["medianTime"], tz="local").format(ALL) issuer["block"] = block["number"] - issuer["gentime"] = convert_time(block["time"], "all") - issuer["mediantime"] = convert_time(block["medianTime"], "all") + issuer["gentime"] = gentime + issuer["mediantime"] = mediantime issuer["hash"] = block["hash"][:10] issuer["powMin"] = block["powMin"] issuers_dict[issuer["pubkey"]] = issuer @@ -242,6 +246,8 @@ async def argos_info(): href = "href=https://%s/" % (endpoint_address) else: href = "href=http://%s:%s/" % (endpoint_address, ep["port"]) + current_time = from_timestamp(head_block["time"], tz="local") + mediantime = from_timestamp(head_block["medianTime"], tz="local") print( "Connected to node:", ep[best_endpoint_address(ep, False)], @@ -257,11 +263,11 @@ async def argos_info(): "\nMinimal Proof-of-Work:", head_block["powMin"], "\nCurrent time:", - convert_time(head_block["time"], "all"), + current_time.format(ALL), "\nMedian time:", - convert_time(head_block["medianTime"], "all"), + mediantime.format(ALL), "\nDifference time:", - convert_time(head_block["time"] - head_block["medianTime"], "hour"), + current_time.diff_for_humans(mediantime, True), ) client = ClientInstance().client await client.close()