Make monitor handle non-full quote messages
parent
3042d1eec6
commit
b2ac571147
|
@ -51,23 +51,25 @@ async def update_quotes(
|
|||
chngcell = row.get_cell('%')
|
||||
|
||||
# determine daily change color
|
||||
color = colorcode('gray')
|
||||
percent_change = record.get('%')
|
||||
if percent_change:
|
||||
daychange = float(record['%'])
|
||||
if percent_change is not None and percent_change != chngcell:
|
||||
daychange = float(percent_change)
|
||||
if daychange < 0.:
|
||||
color = colorcode('red2')
|
||||
elif daychange > 0.:
|
||||
color = colorcode('forestgreen')
|
||||
else:
|
||||
color = colorcode('gray')
|
||||
|
||||
# update row header and '%' cell text color
|
||||
if chngcell:
|
||||
chngcell.color = color
|
||||
hdrcell.color = color
|
||||
# if the cell has been "highlighted" make sure to change its color
|
||||
if hdrcell.background_color != [0]*4:
|
||||
hdrcell.background_color = color
|
||||
|
||||
# update row header and '%' cell text color
|
||||
chngcell.color = color
|
||||
hdrcell.color = color
|
||||
|
||||
|
||||
# briefly highlight bg of certain cells on each trade execution
|
||||
unflash = set()
|
||||
tick_color = None
|
||||
|
@ -123,10 +125,13 @@ async def update_quotes(
|
|||
record, displayable = formatter(
|
||||
quote, symbol_data=symbol_data)
|
||||
|
||||
# don't red/green the header cell in ``row.update()``
|
||||
record.pop('symbol')
|
||||
|
||||
# determine if sorting should happen
|
||||
sort_key = table.sort_key
|
||||
new = record[sort_key]
|
||||
last = row.get_field(sort_key)
|
||||
new = record.get(sort_key, last)
|
||||
if new != last:
|
||||
to_sort.add(row.widget)
|
||||
|
||||
|
|
|
@ -340,6 +340,7 @@ class Row(HoverBehavior, GridLayout):
|
|||
gray = colorcode('gray')
|
||||
fgreen = colorcode('forestgreen')
|
||||
red = colorcode('red2')
|
||||
|
||||
for key, val in record.items():
|
||||
last = self.get_field(key)
|
||||
color = gray
|
||||
|
@ -361,7 +362,7 @@ class Row(HoverBehavior, GridLayout):
|
|||
if color != gray:
|
||||
cells[key] = cell
|
||||
|
||||
self._last_record = record
|
||||
self._last_record.update(record)
|
||||
return cells
|
||||
|
||||
# mouse over handlers
|
||||
|
|
Loading…
Reference in New Issue