2
0
mirror of https://github.com/xcat2/confluent.git synced 2025-01-12 18:59:06 +00:00

Clear [powered off] from screen if state change detected

Previously, only transition to powered on was detected.  React
to situations where data comes up or power status change.
This commit is contained in:
Jarrod Johnson 2017-11-13 14:04:09 -05:00
parent 78dea26d06
commit 29330aee74

View File

@ -76,6 +76,7 @@ import confluent.tlvdata as tlvdata
import confluent.client as client
conserversequence = '\x05c' # ctrl-e, c
clearpowermessage = False
oldtcattr = None
fd = sys.stdin
@ -115,7 +116,7 @@ def print_help():
def updatestatus(stateinfo={}):
global powerstate, powertime
global powerstate, powertime, clearpowermessage
status = consolename
info = []
for statekey in stateinfo:
@ -134,6 +135,10 @@ def updatestatus(stateinfo={}):
newpowerstate = stateinfo['state']['value']
if newpowerstate != powerstate and newpowerstate == 'off':
sys.stdout.write("\x1b[2J\x1b[;H[powered off]\r\n")
clearpowermessage = True
if newpowerstate == 'on' and clearpowermessage:
sys.stdout.write("\x1b[2J\x1b[;H")
clearpowermessage = False
powerstate = newpowerstate
if 'clientcount' in laststate and laststate['clientcount'] != 1:
info.append('clients: %d' % laststate['clientcount'])
@ -878,6 +883,9 @@ while inconsole or not doexit:
updatestatus(data)
continue
if data is not None:
if clearpowermessage:
sys.stdout.write("\x1b[2J\x1b[;H")
clearpowermessage = False
try:
sys.stdout.write(data)
except IOError: # Some times circumstances are bad