Skip to content
Snippets Groups Projects
Commit d15a55c7 authored by matograine's avatar matograine
Browse files

[mod] #344 use pendulum in silkaj.commands

  * changes display for commands `info`, `diffi`, `argos`, `blocks`
parent cb352702
No related branches found
No related tags found
No related merge requests found
......@@ -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,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)
mediantime = from_timestamp(block["medianTime"]).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 +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(from_timestamp(head_block["medianTime"]), True),
)
client = ClientInstance().client
await client.close()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment