70 lines
3.0 KiB
Python
70 lines
3.0 KiB
Python
|
|
import sys, os
|
||
|
|
import PySimpleGUI as sg
|
||
|
|
|
||
|
|
from tool import read_collect_run_doc_name_strids
|
||
|
|
from tool import read_qubit_doc_by_accession
|
||
|
|
from tool import read_qubit_doc_by_order, write_run_doc
|
||
|
|
|
||
|
|
def make_window():
|
||
|
|
layout = [[sg.Text('Generate RunDoc Output worksheet with Qubit run data.')],
|
||
|
|
[sg.Text('Run Doc: '),
|
||
|
|
sg.Combo(sg.user_settings_get_entry('-filenames1-', []), default_value=sg.user_settings_get_entry('-last filename-', ''), size=(50, 1), key='-FILENAME-'),
|
||
|
|
sg.FileBrowse()],
|
||
|
|
[sg.Text('Qubit Data:'),
|
||
|
|
sg.Combo(sg.user_settings_get_entry('-filenames2-', []), default_value=sg.user_settings_get_entry('-last qbtfilename-', ''), size=(50, 1), key='-QFILENAME-'),
|
||
|
|
sg.FileBrowse()],
|
||
|
|
[sg.Button('Go'), sg.Button('Exit')]]
|
||
|
|
|
||
|
|
return sg.Window('Qubit Tool Window', layout)
|
||
|
|
|
||
|
|
def collect_state_from_serial_accession(values):
|
||
|
|
keys = {}
|
||
|
|
stringpath = values['-FILENAME-']
|
||
|
|
keys = read_collect_run_doc_name_strids(min_col=1, path=stringpath)
|
||
|
|
keys.update(read_collect_run_doc_name_strids(min_col=9, path=stringpath))
|
||
|
|
stringpath = values['-QFILENAME-']
|
||
|
|
read_qubit_doc_by_accession(keys, stringpath)
|
||
|
|
stringpath = values['-FILENAME-']
|
||
|
|
write_run_doc(keys, stringpath)
|
||
|
|
|
||
|
|
def collect_state_from_quibit_order(values):
|
||
|
|
keys = {}
|
||
|
|
stringpath = values['-FILENAME-']
|
||
|
|
keys = read_collect_run_doc_name_strids(min_col=1, path=stringpath)
|
||
|
|
keys.update(read_collect_run_doc_name_strids(min_col=9, path=stringpath))
|
||
|
|
stringpath = values['-QFILENAME-']
|
||
|
|
read_qubit_doc_by_order(keys, stringpath)
|
||
|
|
stringpath = values['-FILENAME-']
|
||
|
|
write_run_doc(keys, stringpath)
|
||
|
|
|
||
|
|
def main():
|
||
|
|
window = make_window()
|
||
|
|
while True:
|
||
|
|
event, values = window.read()
|
||
|
|
|
||
|
|
if event == sg.WIN_CLOSED or event == 'Exit':
|
||
|
|
break
|
||
|
|
if event == 'Go':
|
||
|
|
sg.user_settings_set_entry('-filenames1-', list(set(sg.user_settings_get_entry('-filenames1-', []) + [values['-FILENAME-'], ])))
|
||
|
|
sg.user_settings_set_entry('-last filename-', values['-FILENAME-'])
|
||
|
|
window['-FILENAME-'].update(values=list(set(sg.user_settings_get_entry('-filenames1-', []))))
|
||
|
|
|
||
|
|
sg.user_settings_set_entry('-filenames2-', list(set(sg.user_settings_get_entry('-filenames2-', []) + [values['-QFILENAME-'], ])))
|
||
|
|
sg.user_settings_set_entry('-last qbtfilename-', values['-QFILENAME-'])
|
||
|
|
window['-QFILENAME-'].update(values=list(set(sg.user_settings_get_entry('-filenames2-', []))))
|
||
|
|
|
||
|
|
try:
|
||
|
|
collect_state_from_quibit_order(values)
|
||
|
|
window.Close()
|
||
|
|
except Exception as e:
|
||
|
|
sg.popup_error_with_traceback(f'Error check RunDoc info:', e)
|
||
|
|
|
||
|
|
elif event == 'Clear':
|
||
|
|
sg.user_settings_set_entry('-filenames-', [])
|
||
|
|
sg.user_settings_set_entry('-last filename-', '')
|
||
|
|
window['-FILENAME-'].update(values=[], value='')
|
||
|
|
|
||
|
|
if __name__ == '__main__':
|
||
|
|
main()
|
||
|
|
sys.exit()
|