Add pending transcations; Add node and key options
This commit is contained in:
parent
481d13269d
commit
21bda9d646
|
@ -21,9 +21,14 @@ if not node:
|
||||||
# Parse arguments
|
# Parse arguments
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument('-p', '--pubkey', help="Clé publique du compte visé")
|
parser.add_argument('-p', '--pubkey', help="Clé publique du compte visé")
|
||||||
|
parser.add_argument('-n', '--node', help="Sélection d'un noeud Duniter à utiliser")
|
||||||
|
parser.add_argument('-k', '--key', help="Chemin vers notre fichier de trousseau (PubSec)")
|
||||||
parser.add_argument('--mempool', action='store_true', help="Utilise les sources en Mempool")
|
parser.add_argument('--mempool', action='store_true', help="Utilise les sources en Mempool")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.node: node = args.node
|
||||||
|
if args.key: dunikey = args.key
|
||||||
|
|
||||||
# Create transaction and send it
|
# Create transaction and send it
|
||||||
hist = History(dunikey, node, args.pubkey, args.mempool)
|
hist = History(dunikey, node, args.pubkey, args.mempool)
|
||||||
result = hist.history()
|
result = hist.history()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import sys, re, os.path, json, ast
|
import sys, re, os.path, json, ast, time
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from termcolor import colored
|
from termcolor import colored
|
||||||
from lib.natools import fmt, sign, get_privkey
|
from lib.natools import fmt, sign, get_privkey
|
||||||
|
@ -41,6 +41,16 @@ class History:
|
||||||
outputs
|
outputs
|
||||||
comment
|
comment
|
||||||
}
|
}
|
||||||
|
receiving {
|
||||||
|
issuers
|
||||||
|
outputs
|
||||||
|
comment
|
||||||
|
}
|
||||||
|
sending {
|
||||||
|
issuers
|
||||||
|
outputs
|
||||||
|
comment
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
|
@ -85,7 +95,33 @@ class History:
|
||||||
transOut[i].append(bloc['comment'])
|
transOut[i].append(bloc['comment'])
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
trans = transIn + transOut
|
res = self.historyDoc['transactionsHistory']['receiving']
|
||||||
|
transInMempool=[[0 for x in range(0)] for y in range(len(res))]
|
||||||
|
for i, bloc in enumerate(res):
|
||||||
|
for output in bloc['outputs']:
|
||||||
|
if re.search(self.pubkey, output):
|
||||||
|
transInMempool[i].append("INM")
|
||||||
|
transInMempool[i].append(int(time.time()))
|
||||||
|
transInMempool[i].append(bloc['issuers'][0])
|
||||||
|
transInMempool[i].append(int(output.split(':')[0])/100)
|
||||||
|
transInMempool[i].append(bloc['comment'])
|
||||||
|
|
||||||
|
res = self.historyDoc['transactionsHistory']['sending']
|
||||||
|
transOutMempool=[[0 for x in range(0)] for y in range(len(res))]
|
||||||
|
i = 0
|
||||||
|
for bloc in res:
|
||||||
|
for output in bloc['outputs']:
|
||||||
|
if not re.search(self.pubkey, output):
|
||||||
|
transOutMempool[i].append("OUTM")
|
||||||
|
transOutMempool[i].append(int(time.time()))
|
||||||
|
transOutMempool[i].append(output.split("SIG(")[1].replace(')',''))
|
||||||
|
transOutMempool[i].append(int(output.split(':')[0])/100)
|
||||||
|
transOutMempool[i].append(bloc['comment'])
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
trans = transIn + transOut + transInMempool + transOutMempool
|
||||||
trans = list(filter(None, trans))
|
trans = list(filter(None, trans))
|
||||||
trans.sort(key=lambda x: x[1])
|
trans.sort(key=lambda x: x[1])
|
||||||
|
|
||||||
|
@ -93,16 +129,23 @@ class History:
|
||||||
rows = int(os.popen('stty size', 'r').read().split()[1])
|
rows = int(os.popen('stty size', 'r').read().split()[1])
|
||||||
|
|
||||||
print('-'.center(rows, '-'))
|
print('-'.center(rows, '-'))
|
||||||
print("{: <20} | {: <45} | {: <7} | {: <30}".format(" Date"," De la part de (clé publique)","Montant","Commentaire"))
|
print("{: <20} | {: <45} | {: <7} | {: <30}".format(" Date"," De / À (clé publique)","Montant","Commentaire"))
|
||||||
for i in trans:
|
for i in trans:
|
||||||
color = "green" if i[0] == "IN" else "blue"
|
if i[0] == "IN":
|
||||||
|
color = "green"
|
||||||
|
elif i[0] == "INM":
|
||||||
|
color = "yellow"
|
||||||
|
elif i[0] == "OUTM":
|
||||||
|
color = "red"
|
||||||
|
else: color = "blue"
|
||||||
|
|
||||||
date = datetime.fromtimestamp(i[1]).strftime("%d/%m/%Y à %H:%M")
|
date = datetime.fromtimestamp(i[1]).strftime("%d/%m/%Y à %H:%M")
|
||||||
print('-'.center(rows, '-'))
|
print('-'.center(rows, '-'))
|
||||||
print(colored("{: <20} | {: <45} | {: <7} | {: <30}".format(date, *i[2:]), color))
|
print(colored("{: <20} | {: <45} | {: <7} | {: <30}".format(date, *i[2:]), color))
|
||||||
# print(*i)
|
print('-'.center(rows, '-'))
|
||||||
|
|
||||||
|
|
||||||
def history(self):
|
def history(self):
|
||||||
self.sendDoc()
|
self.sendDoc()
|
||||||
self.parseHistory()
|
self.parseHistory()
|
||||||
|
|
||||||
|
|
||||||
|
|
Reference in New Issue