Open seyacat opened 6 years ago
i can reformat handler like this in Mce/abe.py
http://127.0.0.1:7074/Celtoken/getaddressbalances/17iZJ8gbitwcMeufCzgNNb2XmreMJwRGGPpEPR
{"hash": 1, "result": [{"qty": 2498, "name": "celtoken", "assetref": "181-267-63185"}], "error": null}
hope someone helps
def handle_getaddressbalances(abe, page): chain = page['chain'] page['template'] = "%(body)s"
page['body'] = "";
#page['body'] += "ok";
#page['body'] +=json.dumps({'4': 5, '6': 7}, sort_keys=True,indent=4, separators=(',', ': '));
data = {};
data["result"] = [];
address = wsgiref.util.shift_path_info(page['env'])
if address in (None, '') or page['env']['PATH_INFO'] != '':
raise PageNotFound()
version, pubkeyhash = util.decode_check_address_multichain(address)
if pubkeyhash is None:
raise PageNotFound()
try:
row = abe.store.selectrow("""select pubkey_id from pubkey where pubkey_hash = ?""",
(abe.store.binin(pubkeyhash),) )
assets_resp = abe.store.get_assets(chain)
if len(assets_resp) is 0:
body += ['None']
elif row is not None:
pubkey_id = int(row[0])
assetdict = {}
for asset in assets_resp:
# use escaped form as dict key
name = asset.get('name','').encode('unicode-escape')
assetdict[name] = asset
print(assetdict);
for row in abe.store.selectall("""
select a.name, a.prefix, b.balance from asset_address_balance b join asset a on (a.asset_id=b.asset_id)
where b.balance>0 and b.pubkey_id=?""",
(pubkey_id, )):
name, prefix, balance = row
if name is None:
name=''
name = name.encode('unicode-escape')
asset = assetdict[ name ]
assetref = asset['assetref']
num_tx = abe.store.get_number_of_transactions_for_asset_address(chain, assetref, pubkey_id)
if assetref.endswith(str(prefix)):
balance_display_qty = util.format_display_quantity(asset, balance)
#{"result":[{"name":"celtoken","assetref":"181-267-63185","qty":2466}],"error":null,"id":1510266218,"hash":"aee3bc630b94161ca2817f1f8b326328"}
print(escape(chain.name))
data["result"].append({"name":name,"assetref":assetref,"qty":balance})
#body += ['</table>']
data["error"]=None;
data["hash"]=1;
except Exception as e:
print( ['<div class="alert alert-danger" role="alert">', 'Failed to get asset information: '+str(e), '</div>']);
data["error"]=str(e);
data["hash"]=1;
pass
page['body'] += json.dumps(data);
return;
Its posibble look output in json format. like http://127.0.0.1:7074/Celtoken/assetaddress/1F46cSAjr9mQnh8e21sx4fFEbs324A1tLzYcU8/181-267-63185?format=json
ty for your help