add map option to walletList

This commit is contained in:
poka 2023-09-09 10:14:31 +02:00
parent b1049bd7b7
commit 3492643d4f
2 changed files with 24 additions and 9 deletions

View File

@ -70,7 +70,7 @@ class GeolocProfiles(CesiumCommon):
return finalResult return finalResult
def getGVAProfiles(self, node): def getGVAProfiles(self, node):
gva = ListWallets(node, False, False, False, False) gva = ListWallets(node, False, False, False, False, True)
return gva.sendDoc() return gva.sendDoc()
def formatProfiles(self, cesiumProfiles, gvaProfiles): def formatProfiles(self, cesiumProfiles, gvaProfiles):

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import sys, json import sys, re, os.path, json, ast
from termcolor import colored from termcolor import colored
from lib.natools import fmt, sign, get_privkey from lib.natools import fmt, sign, get_privkey
from gql import gql, Client from gql import gql, Client
@ -10,11 +10,12 @@ PUBKEY_REGEX = "(?![OIl])[1-9A-Za-z]{42,45}"
class ListWallets: class ListWallets:
def __init__(self, node, brut, mbr, nonMbr, larf): def __init__(self, node, brut, mbr, nonMbr, larf, map=False):
self.mbr = mbr self.mbr = mbr
self.larf = larf self.larf = larf
self.nonMbr = nonMbr self.nonMbr = nonMbr
self.brut = brut self.brut = brut
self.map = map
# Define Duniter GVA node # Define Duniter GVA node
transport = AIOHTTPTransport(url=node) transport = AIOHTTPTransport(url=node)
self.client = Client(transport=transport, fetch_schema_from_transport=True) self.client = Client(transport=transport, fetch_schema_from_transport=True)
@ -57,6 +58,7 @@ class ListWallets:
jsonBrut = queryResult["wallets"]["edges"] jsonBrut = queryResult["wallets"]["edges"]
walletList = []
walletMap = {} walletMap = {}
for i, trans in enumerate(jsonBrut): for i, trans in enumerate(jsonBrut):
dataWork = trans["node"] dataWork = trans["node"]
@ -70,14 +72,24 @@ class ListWallets:
continue continue
if self.larf and (dataWork["idty"] != None): if self.larf and (dataWork["idty"] != None):
continue continue
walletMap[dataWork["script"]] = {
"balance": dataWork["balance"]["amount"] / 100, if self.map:
"id": dataWork["idty"], walletMap[dataWork["script"]] = {
} "balance": dataWork["balance"]["amount"] / 100,
"id": dataWork["idty"],
}
else:
walletList.append(
{
"pubkey": dataWork["script"],
"balance": dataWork["balance"]["amount"] / 100,
"id": dataWork["idty"],
}
)
if self.brut: if self.brut:
names = [] names = []
for dataWork in walletMap: for dataWork in walletList:
if self.mbr or self.nonMbr: if self.mbr or self.nonMbr:
names.append(dataWork["pubkey"] + " " + dataWork["id"]["username"]) names.append(dataWork["pubkey"] + " " + dataWork["id"]["username"])
else: else:
@ -85,4 +97,7 @@ class ListWallets:
return "\n".join(names) return "\n".join(names)
else: else:
return json.dumps(walletMap, indent=2) if self.map:
return json.dumps(walletMap, indent=2)
else:
return json.dumps(walletList, indent=2)