From 3f99c15038dd0037c9c696293bf26e7e1e4b92ab Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Mon, 10 Aug 2020 13:19:35 -0400 Subject: [PATCH] A most inelegant hack. --- pyShelf.py | 3 +++ src/interface/static/js/pyshelf_ux.js | 24 ++++++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/pyShelf.py b/pyShelf.py index 746756b..e9daae7 100644 --- a/pyShelf.py +++ b/pyShelf.py @@ -19,6 +19,9 @@ async def echo(websocket, path): elif message == "ping": print("<<[{}]".format(message)) tx = pong(message) + elif message == "importBooks": + print("<<[{} cmd rcvd]\n Starting import".format(message)) + tx = "Starting Import . . ." await websocket.send(tx) diff --git a/src/interface/static/js/pyshelf_ux.js b/src/interface/static/js/pyshelf_ux.js index 3f64bc8..3a85cbe 100755 --- a/src/interface/static/js/pyshelf_ux.js +++ b/src/interface/static/js/pyshelf_ux.js @@ -171,9 +171,8 @@ $(document).ready(function(){ $('#pop_over_0').dialog("open"); }); $(document).on('click', '.logout-btn', function(){window.location.href = '/logout'}); - $(document).on('click', '.import-btn', function(){ - let connection = PyshelfServer(server); - //ping(socket); + $(document).on('click', '.import-btn', async function(){ + let connection = await ImportBooks(server); }); $('#coll_button').on('click', function(){ var isopen = $('#pop_over_0').dialog("isOpen"); @@ -281,14 +280,31 @@ function OpenSocket(address) { resolve(connection); }); } + +function ImportBooks(address) { + return new Promise(resolve => { + const connection = new WebSocket(address); + connection.onopen = function(e){ + sock_tx(connection,'importBooks') + }; + connection.onmessage = function(rcvd){ + sock_rx(rcvd) + }; + resolve(connection); + }); +} + async function PyshelfServer(address){ console.log("--[ Starting Connection ]") return await OpenSocket(address) } function sock_rx(rcvd) { - if (rcvd.data == 'pong') { pong(rcvd.data) } + if (rcvd.data == 'pong') { pong(rcvd) } else { console.log("<<[rx] :"+rcvd.data) } } +function sock_tx(connection, msg) { + connection.send(msg); +} function sock_status(connection) { let buffered = connection.bufferedAmmount; let ready = connection.readyState;