From 17fb11aabbea3c5e5ffce4f07ee857643f6c7a6d Mon Sep 17 00:00:00 2001
From: matograine <tom.ngr@zaclys.net>
Date: Mon, 20 Jun 2022 22:20:18 +0200
Subject: [PATCH] [enh] wot: Migrate from tabulate to texttable (#203)
---
silkaj/wot.py | 24 +++++++++++++-----------
tests/test_money.py | 4 +---
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/silkaj/wot.py b/silkaj/wot.py
index ea2671e1..afedd551 100644
--- a/silkaj/wot.py
+++ b/silkaj/wot.py
@@ -20,14 +20,13 @@ from typing import Dict, List, Tuple
import click
from duniterpy.api.bma import blockchain, wot
from pendulum import from_timestamp, now
-from tabulate import tabulate
from silkaj import wot_tools as wt
from silkaj.blockchain_tools import get_blockchain_parameters
from silkaj.constants import DATE
from silkaj.crypto_tools import is_pubkey_and_check
from silkaj.network_tools import client_instance, exit_on_http_error
-from silkaj.tui import gen_pubkey_checksum
+from silkaj.tui import Table, gen_pubkey_checksum
def get_sent_certifications(
@@ -78,6 +77,8 @@ def received_sent_certifications(uid_pubkey: str) -> None:
certifications["received_expire"] = []
certifications["received"] = []
+ certifications["sent"] = []
+ certifications["sent_expire"] = []
for cert in identity["others"]:
certifications["received_expire"].append(
expiration_date_from_block_id(
@@ -92,15 +93,16 @@ def received_sent_certifications(uid_pubkey: str) -> None:
certifications["sent_expire"],
) = get_sent_certifications(signed, time_first_block, params)
nbr_sent_certs = len(certifications["sent"]) if "sent" in certifications else 0
- table = tabulate(
- certifications, headers="keys", tablefmt="orgtbl", stralign="right"
- )
+
+ table = Table(style="columns").set_cols_align(["r", "r", "r", "r"])
+ table.fill_from_dict(certifications)
+
print(
f'{identity["uid"]} ({gen_pubkey_checksum(pubkey, True)}) \
from block #{identity["meta"]["timestamp"][:15]}…\n\
-received {len(certifications["received"])} and \
-sent {nbr_sent_certs}/{params["sigStock"]} certifications:\n\
-{table}\n\
+received {len(certifications["received"])} and sent \
+{nbr_sent_certs}/{params["sigStock"]} certifications:\n\
+{table.draw()}\n\
✔: Certification available to be written or already written into the blockchain\n'
)
membership_status(certifications, pubkey, req)
@@ -203,9 +205,9 @@ def choose_identity(pubkey_uid: str) -> Tuple[Dict, str, List]:
pubkey_index = 0
uid_index = 0
elif identities > 1:
- table = tabulate(identities_choices, headers="keys", tablefmt="orgtbl")
- click.echo(table)
-
+ table = Table().set_cols_dtype(["t", "t", "t", "t"])
+ table.fill_from_dict(identities_choices)
+ click.echo(table.draw())
# Loop till the passed value is in identities_choices
message = "Which identity would you like to select (id)?"
selected_id = None
diff --git a/tests/test_money.py b/tests/test_money.py
index 26774e55..42170b17 100644
--- a/tests/test_money.py
+++ b/tests/test_money.py
@@ -19,9 +19,7 @@ from click.testing import CliRunner
from silkaj.cli import cli
from silkaj.constants import FAILURE_EXIT_STATUS
from silkaj.money import get_sources
-
-# had to import from wot to prevent loop dependencies
-from silkaj.wot import gen_pubkey_checksum
+from silkaj.tui import gen_pubkey_checksum
def test_get_sources(monkeypatch):
--
GitLab