Browse Source

Merge pull request #1943 from ser/payment-requests-subdirs

Spread payment requests to subdirs
283
ThomasV 8 years ago
committed by GitHub
parent
commit
c7ff3ba705
  1. 18
      lib/wallet.py
  2. 2
      lib/websockets.py
  3. 5
      lib/www/index.html

18
lib/wallet.py

@ -1046,13 +1046,13 @@ class Abstract_Wallet(PrintError):
rdir = config.get('requests_dir')
if rdir:
key = out.get('id', addr)
path = os.path.join(rdir, key)
path = os.path.join(rdir, 'req', key[0], key[1], key)
if os.path.exists(path):
baseurl = 'file://' + rdir
rewrite = config.get('url_rewrite')
if rewrite:
baseurl = baseurl.replace(*rewrite)
out['request_url'] = os.path.join(baseurl, key)
out['request_url'] = os.path.join(baseurl, 'req', key[0], key[1], key, key)
out['URI'] += '&r=' + out['request_url']
out['index_url'] = os.path.join(baseurl, 'index.html') + '?id=' + key
websocket_server_announce = config.get('websocket_server_announce')
@ -1122,12 +1122,18 @@ class Abstract_Wallet(PrintError):
if rdir and amount is not None:
key = req.get('id', addr)
pr = paymentrequest.make_request(config, req)
path = os.path.join(rdir, key)
with open(path, 'w') as f:
path = os.path.join(rdir, 'req', key[0], key[1], key)
if not os.path.exists(path):
try:
os.makedirs(path)
except OSError as exc:
if exc.errno != errno.EEXIST:
raise
with open(os.path.join(path, key), 'w') as f:
f.write(pr.SerializeToString())
# reload
req = self.get_payment_request(addr, config)
with open(os.path.join(rdir, key + '.json'), 'w') as f:
with open(os.path.join(path, key + '.json'), 'w') as f:
f.write(json.dumps(req))
return req
@ -1139,7 +1145,7 @@ class Abstract_Wallet(PrintError):
if rdir:
key = r.get('id', addr)
for s in ['.json', '']:
n = os.path.join(rdir, key + s)
n = os.path.join(rdir, 'req', key[0], key[1], key, key + s)
if os.path.exists(n):
os.unlink(n)
self.storage.put('payment_requests', self.receive_requests)

2
lib/websockets.py

@ -63,7 +63,7 @@ class WsClientThread(util.DaemonThread):
def make_request(self, request_id):
# read json file
rdir = self.config.get('requests_dir')
n = os.path.join(rdir, request_id + '.json')
n = os.path.join(rdir, 'req', request_id[0], request_id[1], request_id, request_id + '.json')
with open(n) as f:
s = f.read()
d = json.loads(s)

5
lib/www/index.html

@ -25,7 +25,8 @@ function getUrlParameter(sParam)
var id = getUrlParameter('id');
if (id) {
var jqxhr = $.getJSON(id + ".json", function() {
var uri_path = location.pathname;
var jqxhr = $.getJSON(uri_path.replace("index.html", "req/"+ id[0] + "/"+ id[1] + "/"+ id + "/"+ id + ".json"), function() {
console.log("getJSON:success");
})
.done( function(data) {
@ -60,7 +61,7 @@ if (id) {
}
});
var wss_address = "wss://" + websocket_server + ":" + websocket_port +"/");
var wss_address = "wss://" + websocket_server + ":" + websocket_port +"/";
console.log("Opening WSS: " + wss_address)
var ws = new WebSocket(wss_address);

Loading…
Cancel
Save