store json record requests
This commit is contained in:
parent
bf755f8ac0
commit
3bb00f0006
|
@ -542,17 +542,16 @@ class Commands:
|
|||
}
|
||||
# check if bip70 file exists
|
||||
rdir = self.config.get('requests_dir')
|
||||
if rdir:
|
||||
path = os.path.join(rdir, key + '.bip70')
|
||||
if os.path.exists(path):
|
||||
out['path'] = path
|
||||
url = 'file://' + path
|
||||
r = self.config.get('url_rewrite')
|
||||
if r:
|
||||
a, b = r
|
||||
url = url.replace(a, b)
|
||||
out['request_url'] = url
|
||||
out['URI'] += '&r=' + url
|
||||
path = os.path.join(rdir, key + '.bip70')
|
||||
if rdir and os.path.exists(path):
|
||||
out['path'] = path
|
||||
baseurl = 'file://' + rdir
|
||||
rewrite = self.config.get('url_rewrite')
|
||||
if rewrite:
|
||||
baseurl = baseurl.replace(*rewrite)
|
||||
out['request_url'] = os.path.join(baseurl, key + '.bip70')
|
||||
out['URI'] += '&r=' + out['request_url']
|
||||
out['index_url'] = os.path.join(baseurl, 'index.html') + '?id=' + key
|
||||
|
||||
return out
|
||||
|
||||
|
@ -575,16 +574,22 @@ class Commands:
|
|||
return map(self._format_request, self.wallet.get_sorted_requests())
|
||||
|
||||
@command('w')
|
||||
def addrequest(self, requested_amount, reason='', expiration=None):
|
||||
def addrequest(self, requested_amount, reason='', expiration=60*60):
|
||||
"""Create a payment request."""
|
||||
amount = int(Decimal(requested_amount)*COIN)
|
||||
key = self.wallet.add_payment_request(amount, reason, expiration)
|
||||
if key is None:
|
||||
return
|
||||
# create file
|
||||
req = self.wallet.get_payment_request(key)
|
||||
paymentrequest.publish_request(self.config, key, req)
|
||||
return self._format_request(req)
|
||||
rdir = self.config.get('requests_dir')
|
||||
if rdir:
|
||||
path = paymentrequest.publish_request(self.config, key, req)
|
||||
req['path'] = path
|
||||
req = self._format_request(req)
|
||||
if rdir:
|
||||
with open(os.path.join(rdir, key + '.json'), 'w') as f:
|
||||
f.write(json.dumps(req))
|
||||
return req
|
||||
|
||||
@command('w')
|
||||
def rmrequest(self, address):
|
||||
|
|
|
@ -2,66 +2,69 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Payment request</title>
|
||||
<script type="text/javascript" charset="utf-8" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
|
||||
<script type="text/javascript" src="https://raw.github.com/datagraph/jquery-jsonrpc/master/jquery.jsonrpc.js"></script>
|
||||
<script type="text/javascript" src="https://raw.githubusercontent.com/davidshimjs/qrcodejs/master/qrcode.js"></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/css/result-light.css">
|
||||
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$.jsonRPC.setup({
|
||||
endPoint : "http://localhost:7777",
|
||||
namespace : ""
|
||||
});
|
||||
if (window.location.hash) {
|
||||
$.jsonRPC.request('getrequest', {
|
||||
params : [window.location.hash.substr(1)],
|
||||
success : function(data) {
|
||||
new QRCode(document.getElementById("qrcode"), data.result.URI);
|
||||
$("<p />").text(data.result.reason).appendTo($("p#reason"));
|
||||
$("<p />").text(data.result.amount + "BTC").appendTo($("p#amount"));
|
||||
$("a").attr("href", data.result.URI);
|
||||
$("<p />").text("Powered by Electrum").appendTo($("p#powered"));
|
||||
function getUrlParameter(sParam)
|
||||
{
|
||||
var sPageURL = window.location.search.substring(1);
|
||||
var sURLVariables = sPageURL.split('&');
|
||||
for (var i = 0; i < sURLVariables.length; i++)
|
||||
{
|
||||
var sParameterName = sURLVariables[i].split('=');
|
||||
if (sParameterName[0] == sParam)
|
||||
{
|
||||
return sParameterName[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(function () {
|
||||
var current;
|
||||
var max = 100;
|
||||
var initial = data.result.timestamp;
|
||||
var duration = data.result.expiration;
|
||||
var current = 100 * (Math.floor(Date.now()/1000) - initial)/duration;
|
||||
$("#progressbar").progressbar({
|
||||
value: current,
|
||||
max: max
|
||||
});
|
||||
function update() {
|
||||
current = 100 * (Math.floor(Date.now()/1000) - initial)/duration;
|
||||
$("#progressbar").progressbar({
|
||||
value: current
|
||||
});
|
||||
if (duration && current >= max) {
|
||||
$("#container").html("expired:", duration);
|
||||
}
|
||||
if(!duration) clearInterval(interval);
|
||||
};
|
||||
var interval = setInterval(update, 1000);
|
||||
});
|
||||
|
||||
},
|
||||
error : function(data) {
|
||||
$("<p />").text("error").appendTo($("p#error"));
|
||||
$("<p />").text(data.error.message).appendTo($("p#error"));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
var id = getUrlParameter('id');
|
||||
|
||||
if (id) {
|
||||
var jqxhr = $.getJSON(id + ".json", function() {
|
||||
console.log( "success" );
|
||||
})
|
||||
.done( function(data) {
|
||||
new QRCode(document.getElementById("qrcode"), data.URI);
|
||||
$("<p />").text(data.reason).appendTo($("p#reason"));
|
||||
$("<p />").text(data.amount + "BTC").appendTo($("p#amount"));
|
||||
$("a").attr("href", data.URI);
|
||||
$("<p />").text("Powered by Electrum").appendTo($("p#powered"));
|
||||
$(function () {
|
||||
var current;
|
||||
var max = 100;
|
||||
var initial = data.timestamp;
|
||||
var duration = data.expiration;
|
||||
var current = 100 * (Math.floor(Date.now()/1000) - initial)/duration;
|
||||
$("#progressbar").progressbar({
|
||||
value: current,
|
||||
max: max
|
||||
});
|
||||
function update() {
|
||||
current = 100 * (Math.floor(Date.now()/1000) - initial)/duration;
|
||||
$("#progressbar").progressbar({
|
||||
value: current
|
||||
});
|
||||
if (current >= max) {
|
||||
$("#container").html("expired:", duration);
|
||||
}
|
||||
};
|
||||
var interval = setInterval(update, 1000);
|
||||
});
|
||||
</script>
|
||||
})
|
||||
.fail(function() {
|
||||
console.log( "error fail" );
|
||||
$("<p />").text("error").appendTo($("p#error"));
|
||||
});
|
||||
};
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="container" style="width:20em; text-align:center; margin:auto; font-family:arial, serif;">
|
||||
|
@ -79,4 +82,3 @@ $(function () {
|
|||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
Loading…
Reference in New Issue