def stop(self):
self.server.shutdown()
+ self.server.server_close()
class MainView(View):
@contextmanager
server = AsyncHttpServer(57853, data)
server.start()
messagebox.showinfo(
- "Serving Table Data",
+ "Serving Table Data…",
"Table data is ready to be transferred to your browser. You may close this dialog when the transfer is complete.",
)
server.stop()
-javascript:(function(){var r=new XMLHttpRequest();r.onReadyStateChange=d;function d(){if(r.readyState===XMLHttpRequest.DONE){var rows=JSON.parse(r.responseText);var t=document.createElement('table');var h=t.createTHead();rows.shift().forEach(v=>{var c=document.createElement('th');c.innerText=v;h.appendChild(c);});rows.forEach(r=>{var tr=t.insertRow(-1);r.forEach(v=>{var c=document.createElement('td');c.innerText=v;tr.appendChild(c);});});var box=document.querySelector('[contenteditable="true"]');box.appendChild(document.createElement('br'));box.appendChild(t);box.appendChild(document.createElement('br'));}}})()
+javascript:(function(){var r=new XMLHttpRequest();r.onreadystatechange=d;r.responseType='json';r.open('GET','http://localhost:57853/');r.send();function d(){if(r.readyState===XMLHttpRequest.DONE){var rows=r.response;var t=document.createElement('table');var h=t.createTHead();console.log(rows);rows.shift().forEach(v=>{var c=document.createElement('th');c.innerText=v;h.appendChild(c);});rows.forEach(r=>{var tr=t.insertRow(-1);r.forEach(v=>{var c=document.createElement('td');c.innerText=v;tr.appendChild(c);});});var box=document.querySelector('[contenteditable="true"]');box.appendChild(document.createElement('br'));box.appendChild(t);box.appendChild(document.createElement('br'));}}})()