feat: Add get expiring domains and export all domains
This commit is contained in:
parent
0d7b55c12e
commit
baca2845e1
@ -39,6 +39,38 @@ functions = {
|
||||
}
|
||||
}
|
||||
},
|
||||
"expiring": {
|
||||
"name": "Expiring Domains",
|
||||
"type": "default",
|
||||
"description": "List domains that are expiring and their wallet",
|
||||
"params": {
|
||||
"days": {
|
||||
"name": "Days until expiry (default 30)",
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"returns": {
|
||||
"result":
|
||||
{
|
||||
"name": "Result",
|
||||
"type": "text"
|
||||
}
|
||||
}
|
||||
},
|
||||
"export": {
|
||||
"name": "Export Domains",
|
||||
"type": "default",
|
||||
"description": "Export domains to a file",
|
||||
"params": {
|
||||
},
|
||||
"returns": {
|
||||
"result":
|
||||
{
|
||||
"name": "result.csv",
|
||||
"type": "file"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dash": {
|
||||
"name": "Dashboard widget",
|
||||
"type": "dashboard",
|
||||
@ -102,6 +134,42 @@ def balance(params, authentication):
|
||||
|
||||
return {"result": balances}
|
||||
|
||||
def expiring(params, authentication):
|
||||
days = params['days']
|
||||
if days == None or days == '':
|
||||
days = 30
|
||||
else:
|
||||
days = int(days)
|
||||
wallets = account.listWallets()
|
||||
expiring = ''
|
||||
|
||||
for wallet in wallets:
|
||||
walletExpiring = []
|
||||
domains = account.getDomains(wallet)
|
||||
for domain in domains:
|
||||
if 'stats' in domain and 'daysUntilExpire' in domain['stats']:
|
||||
if domain['stats']['daysUntilExpire'] <= days:
|
||||
walletExpiring.append({"domain": domain['name'], "wallet": wallet, "days": domain['stats']['daysUntilExpire']})
|
||||
if len(walletExpiring) > 0:
|
||||
expiring += f"<div class='row'><div class='col-md-12'><h3>{wallet} Expiring Domains</h3><table class='table table-striped'><thead><tr><th>Domain</th><th>Days Until Expiration</th></tr></thead><tbody>"
|
||||
for domain in walletExpiring:
|
||||
expiring += f"<tr><td>{domain['domain']}</td><td>{domain['days']}</td></tr>"
|
||||
expiring += "</tbody></table></div></div>"
|
||||
return {"result": expiring}
|
||||
|
||||
def export(params, authentication):
|
||||
wallets = account.listWallets()
|
||||
result = "name,expiry,value,wallet"
|
||||
for wallet in wallets:
|
||||
domains = account.getDomains(wallet)
|
||||
for domain in domains:
|
||||
if 'stats' in domain and 'renewalPeriodEnd' in domain['stats']:
|
||||
result += f"\n{domain['name']},{domain['stats']['renewalPeriodEnd']},{domain['value']/1000000},{wallet}"
|
||||
else:
|
||||
result += f"\n{domain['name']},N/A,{domain['value']/1000000},{wallet}"
|
||||
|
||||
return {"result": result}
|
||||
|
||||
def dash(params, authentication):
|
||||
with open("user_data/multiwallet.json", "r") as f:
|
||||
multiwallet = json.load(f)
|
||||
|
Loading…
Reference in New Issue
Block a user