diff --git a/silkaj/commands.py b/silkaj/commands.py index 78e0e85fcf5c62673c111b86b8778f396c1fea42..8cb27c6b1204abb4e9aab8d55609f7e699c95ead 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, ALL_DIGITAL @command("info", help="Display information about currency") @@ -45,6 +45,7 @@ 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"]) print( "Connected to node:", ep[best_endpoint_address(ep, False)], @@ -58,11 +59,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"), + from_timestamp(head_block["medianTime"]).format(ALL), "\nDifference time:", - convert_time(head_block["time"] - head_block["medianTime"], "hour"), + current_time.diff_for_humans(from_timestamp(head_block["medianTime"]), True), ) client = ClientInstance().client await client.close() @@ -125,11 +126,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"]).format(ALL), diffi["block"], issuers, len(diffi["levels"]), @@ -164,9 +165,11 @@ async def list_blocks(number, detailed): issuer = OrderedDict() issuer["pubkey"] = block["issuer"] if detailed or number <= 30: + gentime = from_timestamp(block["time"]).format(ALL_DIGITAL) + mediantime = from_timestamp(block["medianTime"]).format(ALL_DIGITAL) 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 +245,7 @@ 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"]) print( "Connected to node:", ep[best_endpoint_address(ep, False)], @@ -257,11 +261,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"), + from_timestamp(head_block["medianTime"]).format(ALL), "\nDifference time:", - convert_time(head_block["time"] - head_block["medianTime"], "hour"), + current_time.diff_for_humans(head_block["medianTime"], True), ) client = ClientInstance().client await client.close()