parent
38cc7c7672
commit
74ee5cad56
@ -0,0 +1,55 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>File System Examples</title>
|
||||
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
|
||||
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
|
||||
|
||||
<py-env>
|
||||
- paths:
|
||||
- ./otime.py
|
||||
- ./ps_ttime.py
|
||||
</py-env>
|
||||
|
||||
</head>
|
||||
<label for="tt-cnf">tTime konfigurasjons-fil:</label>
|
||||
<input type="file" id="tt-cnf" name="tt-cnf">
|
||||
<div style="border:2px inset #AAA;cursor:text;height:50px;overflow:auto;width:600px; resize:both">
|
||||
<div id="tt-cnf-cnt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<label for="tt-db">tTime database:</label>
|
||||
<input type="file" id="tt-db" name="tt-db">
|
||||
<div style="border:2px inset #AAA;cursor:text;height:50px;overflow:auto;width:600px; resize:both">
|
||||
<div id="tt-db-cnt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<label for="mtr">MTR logfil:</label>
|
||||
<input type="file" id="mtr" name="mtr">
|
||||
<div style="border:2px inset #AAA;cursor:text;height:50px;overflow:auto;width:600px; resize:both">
|
||||
<div id="mtr-cnt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="button" id="xml-btn">Lag xml resultater!</button>
|
||||
|
||||
<p>File Content:</p>
|
||||
<div style="border:2px inset #AAA;cursor:text;height:50px;overflow:auto;width:600px; resize:both">
|
||||
<div id="xml-cnt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<py-script>
|
||||
from ps_ttime import main
|
||||
main()
|
||||
</py-script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,66 @@
|
||||
import otime
|
||||
import asyncio
|
||||
from js import document, FileReader
|
||||
from pyodide import create_proxy
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
global event
|
||||
event = otime.Event(0, 'PlaceHolder')
|
||||
|
||||
async def process_conf(f_event):
|
||||
global event
|
||||
file_list = f_event.target.files.to_py()
|
||||
for f in file_list:
|
||||
data = await f.text()
|
||||
document.getElementById('tt-cnf-cnt').innerHTML = data
|
||||
event.import_ttime_cnf(data)
|
||||
|
||||
for c in event.o_classes:
|
||||
print(c.name, c.course.name)
|
||||
|
||||
async def process_db(f_event):
|
||||
global event
|
||||
file_list = f_event.target.files.to_py()
|
||||
for f in file_list:
|
||||
data = await f.text()
|
||||
document.getElementById('tt-db-cnt').innerHTML = data
|
||||
event.import_ttime_db(data)
|
||||
|
||||
|
||||
async def process_mtr(f_event):
|
||||
global event
|
||||
file_list = f_event.target.files.to_py()
|
||||
for f in file_list:
|
||||
data = await f.text()
|
||||
document.getElementById('mtr-cnt').innerHTML = data
|
||||
event.import_mtr_file(data)
|
||||
|
||||
async def create_xml(f_event):
|
||||
global event
|
||||
|
||||
event.match_all()
|
||||
|
||||
xml_res = ET.tostring(event.get_xml_res().getroot(), encoding='unicode', method='xml', xml_declaration=True)
|
||||
#xml_res = dir(event.get_xml_res())
|
||||
document.getElementById('xml-cnt').innerHTML = xml_res.replace('&', '&').replace('<', '<').replace('>', '>')
|
||||
|
||||
def main():
|
||||
global event
|
||||
# Create a Python proxy for the callback function
|
||||
# process_file() is your function to process events from FileReader
|
||||
|
||||
cnf_f_event = create_proxy(process_conf)
|
||||
ec = document.getElementById("tt-cnf")
|
||||
ec.addEventListener("change", cnf_f_event, False)
|
||||
|
||||
db_f_event = create_proxy(process_db)
|
||||
ed = document.getElementById("tt-db")
|
||||
ed.addEventListener("change", db_f_event, False)
|
||||
|
||||
mtr_f_event = create_proxy(process_mtr)
|
||||
em = document.getElementById("mtr")
|
||||
em.addEventListener("change", mtr_f_event, False)
|
||||
|
||||
xml_btn_call = create_proxy(create_xml)
|
||||
eb = document.getElementById("xml-btn")
|
||||
eb.addEventListener("click", xml_btn_call, False)
|
Loading…
Reference in new issue