diff --git a/pywallet.py b/pywallet.py index 96c010a..6d5767e 100755 --- a/pywallet.py +++ b/pywallet.py @@ -897,7 +897,13 @@ class WIRoot(resource.Resource): \ \ \ - ' +
' + + BalanceForm = '

Print the balance of a Bitcoin address:

\ + Key:
\ +

\ +
\ +




' Misc = '' @@ -980,9 +986,35 @@ class WIRoot(resource.Resource): document.getElementById("ImportDiv").innerHTML = "Loading...";\ ajaxRequest.send(null);\ }\ + function ajaxBalance(){\ + var ajaxRequest;\ + try{\ + ajaxRequest = new XMLHttpRequest();\ + } catch (e){\ + try{\ + ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");\ + } catch (e) {\ + try{\ + ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");\ + } catch (e){\ + alert("Your browser broke!");\ + return false;\ + }\ + }\ + }\ + ajaxRequest.onreadystatechange = function(){\ + if(ajaxRequest.readyState == 4){\ + document.getElementById("BalanceDiv").innerHTML = "Balance of " + document.getElementById("bf-key").value + ": " + ajaxRequest.responseText;\ + }\ + };\ + var queryString = "/Balance?key="+document.getElementById("bf-key").value;\ + ajaxRequest.open("GET", queryString, true);\ + document.getElementById("BalanceDiv").innerHTML = "Loading...";\ + ajaxRequest.send(null);\ + }\ ' - page = 'Pywallet Web Interface' + header + Javascript + DWForm + InfoForm + ImportForm + Misc + '' + page = 'Pywallet Web Interface' + header + Javascript + DWForm + InfoForm + ImportForm + BalanceForm + Misc + '' return page def getChild(self, name, request): @@ -1015,6 +1047,18 @@ class WIDumpWallet(resource.Resource): def render_POST(self, request): return self.render_GET(request) +class WIBalance(resource.Resource): + + def render_GET(self, request): + try: + return "%s"%str(balance(balance_site, request.args['key'][0]).encode('utf-8')) + except: + log.err() + return 'Error in balance page' + + def render_POST(self, request): + return self.render_GET(request) + class WIInfo(resource.Resource): def render_GET(self, request): @@ -1165,7 +1209,8 @@ if __name__ == '__main__': VIEWS = { 'DumpWallet': WIDumpWallet(), 'Import': WIImport(), - 'Info': WIInfo() + 'Info': WIInfo(), + 'Balance': WIBalance() } if options.web is not None: