Skip to content

Commit 6dead00

Browse files
committed
Minor tweaks
1 parent 91cff8c commit 6dead00

File tree

1 file changed

+31
-43
lines changed

1 file changed

+31
-43
lines changed

bidscoin/bidseditor.py

Lines changed: 31 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,43 +1574,26 @@ def events_time2run(self, rowindex: int, colindex: int):
15741574
timeunit = self.target_run.events['time']['unit'] or 1
15751575
start = self.target_run.events['time']['start'] or {'': ''}
15761576

1577-
if key == 'columns':
1578-
try:
1577+
try:
1578+
if key == 'columns':
15791579
value = ast.literal_eval(value) # Convert stringified list back to list
15801580
LOGGER.verbose(f"User sets events['timecols'] from '{timecols}' to '{value}' for {self.target_run}")
15811581
self.target_run.events['time']['cols'] = value
1582-
except (ValueError, SyntaxError):
1583-
QMessageBox.warning(self, 'Input error', f"Please enter a valid '{value}' list")
1584-
self.events_time.blockSignals(True)
1585-
self.events_time.item(rowindex, colindex).setText(timecols) # Reset the value to the original timecols
1586-
self.events_time.blockSignals(False)
1587-
1588-
elif key == 'units/sec':
1589-
try:
1582+
elif key == 'units/sec':
15901583
value = int(value)
15911584
LOGGER.verbose(f"User sets events['units/sec'] from '{timeunit}' to '{value}' for {self.target_run}")
15921585
self.target_run.events['time']['unit'] = value
1593-
except (ValueError, TypeError):
1594-
QMessageBox.warning(self, 'Input error', f"Please enter a valid '{value}' integer")
1595-
self.events_time.blockSignals(True)
1596-
self.events_time.item(rowindex, colindex).setText(timeunit) # Reset the value to the original timecols
1597-
self.events_time.blockSignals(False)
1598-
1599-
elif key == 'start':
1600-
try:
1586+
elif key == 'start':
16011587
value = ast.literal_eval(value) # Convert stringified list back to list
16021588
LOGGER.verbose(f"User sets events['{key}'] from '{start}' to '{value}' for {self.target_run}")
16031589
self.target_run.events['time']['start'] = value
1604-
except (ValueError, SyntaxError):
1605-
QMessageBox.warning(self, 'Input error', f"Please enter a valid '{value}' dictionary")
1606-
self.events_time.blockSignals(True)
1607-
self.events_time.item(rowindex, 1).setText(start) # Reset the value to the original start
1608-
self.events_time.blockSignals(False)
1590+
except (ValueError, SyntaxError):
1591+
QMessageBox.warning(self, 'Input error', f"Please enter a valid '{value}' value")
16091592

16101593
# Refresh the events tables, i.e. delete empty rows or add a new row if a key is defined on the last row
16111594
_,_,_,_,events_data = self.run2data()
1612-
for name in ('table',): # events_data:
1613-
self.fill_table(self.events_table, events_data[name])
1595+
self.fill_table(self.events_time, events_data['time'])
1596+
self.fill_table(self.events_table, events_data['table'])
16141597

16151598
def events_rows2run(self, rowindex: int, colindex: int):
16161599
"""Events value has been changed. Read the data from the event 'rows' table"""
@@ -1620,16 +1603,16 @@ def events_rows2run(self, rowindex: int, colindex: int):
16201603
mapping = self.events_rows.item(rowindex, colindex).text().strip() if self.events_rows.item(rowindex, colindex) else ''
16211604
nrows = self.events_rows.rowCount()
16221605

1623-
LOGGER.verbose(f"User sets events['rows'][{rowindex}] to {mapping}' for {self.target_run}")
16241606
if mapping:
16251607
try:
16261608
mapping = ast.literal_eval(mapping) # Convert stringified dict back to dict
1609+
LOGGER.verbose(f"User sets events['rows'][{rowindex}] to {mapping}' for {self.target_run}")
1610+
if rowindex == nrows - 1:
1611+
self.target_run.events['rows'].append({'include' if colindex==0 else 'cast': mapping})
1612+
else:
1613+
self.target_run.events['rows'][rowindex]['include' if colindex==0 else 'cast'] = mapping
16271614
except (ValueError, SyntaxError):
1628-
mapping = {}
1629-
if rowindex == nrows - 1:
1630-
self.target_run.events['rows'].append({'include' if colindex==0 else 'cast': mapping})
1631-
else:
1632-
self.target_run.events['rows'][rowindex]['include' if colindex==0 else 'cast'] = mapping
1615+
QMessageBox.warning(self, 'Input error', f"Please enter a valid '{mapping}' dictionary")
16331616
elif colindex == 0 and rowindex < nrows - 1: # Remove the row
16341617
del self.target_run.events['rows'][rowindex]
16351618
else:
@@ -1649,21 +1632,26 @@ def events_columns2run(self, rowindex: int, colindex: int):
16491632
input = self.events_columns.item(rowindex, 0).text().strip() if self.events_columns.item(rowindex, 0) else ''
16501633
output = self.events_columns.item(rowindex, 1).text().strip() if self.events_columns.item(rowindex, 1) else ''
16511634
nrows = self.events_columns.rowCount()
1652-
LOGGER.verbose(f"User sets the column {colindex} to: '{input}: {output}' for {self.target_run}")
1653-
if input and output: # Evaluate and store the data
1654-
if rowindex == nrows - 1:
1655-
self.target_run.events['columns'].append({output: input})
1656-
self.events_columns.insertRow(nrows)
1657-
else:
1658-
self.target_run.events['columns'][rowindex] = {output: input}
1659-
elif rowindex < nrows - 1: # Remove the row
1660-
del self.target_run.events['columns'][rowindex]
1661-
self.events_columns.blockSignals(True) # Not sure if this is needed?
1662-
self.events_columns.removeRow(rowindex)
1663-
self.events_columns.blockSignals(False)
1635+
1636+
if input and not output:
1637+
output = input
1638+
1639+
if not input or input in self.target_run.eventsparser().logtable:
1640+
LOGGER.verbose(f"User sets the column {colindex} to: '{input}: {output}' for {self.target_run}")
1641+
if output: # Evaluate and store the data
1642+
if rowindex == nrows - 1:
1643+
self.target_run.events['columns'].append({output: input})
1644+
self.events_columns.insertRow(nrows)
1645+
else:
1646+
self.target_run.events['columns'][rowindex] = {output: input}
1647+
elif rowindex < nrows - 1: # Remove the row
1648+
del self.target_run.events['columns'][rowindex]
1649+
else:
1650+
QMessageBox.warning(self, 'Input error', f"The '{input}' input column does not exist, please enter a valid name")
16641651

16651652
# Refresh the events tables, i.e. delete empty rows or add a new row if a key is defined on the last row
16661653
_,_,_,_,events_data = self.run2data()
1654+
self.fill_table(self.events_columns, events_data['columns'])
16671655
self.fill_table(self.events_table, events_data['table'])
16681656

16691657
def edit_events(self):

0 commit comments

Comments
 (0)