add file exist logic
This commit is contained in:
16
app.py
16
app.py
@@ -30,7 +30,9 @@ pio.templates["plotly_light"].layout['yaxis']['zerolinecolor'] = 'lightgray'
|
|||||||
|
|
||||||
ELM = {
|
ELM = {
|
||||||
'name': 'tempplot',
|
'name': 'tempplot',
|
||||||
'filename': './data/20260420213656.txt',
|
'filedir': './data',
|
||||||
|
# 'filename': './data/20260420213656.txt',
|
||||||
|
'filename': None,
|
||||||
'label_file_fmt': 'File: {filename}',
|
'label_file_fmt': 'File: {filename}',
|
||||||
'label_data_len_fmt': 'Data points: {num:,} (rendered) / {numa:,} (total)',
|
'label_data_len_fmt': 'Data points: {num:,} (rendered) / {numa:,} (total)',
|
||||||
'label_data_temp_fmt': 'Temperature = [{min:.1f}, {max:.1f}] K',
|
'label_data_temp_fmt': 'Temperature = [{min:.1f}, {max:.1f}] K',
|
||||||
@@ -94,6 +96,8 @@ async def pick_file() -> None:
|
|||||||
ELM['label_file'].set_text(ELM['label_file_fmt'].format(filename=os.path.basename(filename)))
|
ELM['label_file'].set_text(ELM['label_file_fmt'].format(filename=os.path.basename(filename)))
|
||||||
|
|
||||||
def get_data(filename=ELM['filename']):
|
def get_data(filename=ELM['filename']):
|
||||||
|
data = None
|
||||||
|
if filename is not None and os.path.isfile(filename):
|
||||||
data = np.genfromtxt(fname=filename, skip_header=1)
|
data = np.genfromtxt(fname=filename, skip_header=1)
|
||||||
|
|
||||||
if len(data) > 0 and len(data[0]) > 6:
|
if len(data) > 0 and len(data[0]) > 6:
|
||||||
@@ -109,12 +113,14 @@ def get_data(filename=ELM['filename']):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
def update_data():
|
def update_data():
|
||||||
if not app.storage.user['timer'] or time.time() - ELM['update_last'] > ELM['update_timeout']:
|
if not app.storage.user['timer'] \
|
||||||
|
or time.time() - ELM['update_last'] > ELM['update_timeout']:
|
||||||
ELM['update_busy'] = True
|
ELM['update_busy'] = True
|
||||||
filename=ELM['filename']
|
filename=ELM['filename']
|
||||||
data_all = get_data(filename)
|
data_all = get_data(filename)
|
||||||
data = data_all
|
data = data_all
|
||||||
|
|
||||||
|
if data is not None:
|
||||||
# time_range = ELM['number_time_range'].value
|
# time_range = ELM['number_time_range'].value
|
||||||
time_range = app.storage.user['time_range']
|
time_range = app.storage.user['time_range']
|
||||||
if time_range is not None and time_range > 0:
|
if time_range is not None and time_range > 0:
|
||||||
@@ -221,8 +227,10 @@ def index():
|
|||||||
).bind_value(app.storage.user, 'dark_mode').props('icon="dark_mode"')
|
).bind_value(app.storage.user, 'dark_mode').props('icon="dark_mode"')
|
||||||
|
|
||||||
with ui.row():
|
with ui.row():
|
||||||
ELM['label_file'] = ui.label(
|
filename = None
|
||||||
ELM['label_file_fmt'].format(filename=os.path.basename(ELM['filename'])))
|
if ELM['filename'] is not None:
|
||||||
|
filename = os.path.basename(ELM['filename'])
|
||||||
|
ELM['label_file'] = ui.label(ELM['label_file_fmt'].format(filename=filename))
|
||||||
ELM['label_data_len'] = ui.label(ELM['label_data_len_fmt'].format(num=0, numa=0))
|
ELM['label_data_len'] = ui.label(ELM['label_data_len_fmt'].format(num=0, numa=0))
|
||||||
ELM['label_data_temp'] = ui.label(ELM['label_data_temp_fmt'].format(min=0, max=0))
|
ELM['label_data_temp'] = ui.label(ELM['label_data_temp_fmt'].format(min=0, max=0))
|
||||||
ELM['label_data_heat'] = ui.label(ELM['label_data_heat_fmt'].format(min=0, max=0))
|
ELM['label_data_heat'] = ui.label(ELM['label_data_heat_fmt'].format(min=0, max=0))
|
||||||
|
|||||||
Reference in New Issue
Block a user