01234567890123456789012345678901234567890123456789012345678901234567890123456789
53925393539453955396539753985399540054015402540354045405540654075408540954105411 541254135414541554165417541854195420542154225423542454255426542754285429543054315432 54335434543554365437543854395440544154425443544454455446544754485449545054515452 |
<----SKIPPED LINES---->
configuration: dictionary of settings
message_queue: current message queue
next_message_time: epoch of the next message to display to screen
Returns:
A 2-tuple of the (possibly-updated) message_queue and next_message_time.
"""
while not q.empty():
command, args = q.get()
if command == 'pin':
UpdateStatusLight(*args)
elif command == 'replay':
# a command might request info about flight to be (re)displayed, irrespective of
# whether the screen is on; if so, let's put that message at the front of the message
# queue, and delete any subsequent messages in queue because presumably the button
# was pushed either a) when the screen was off (so no messages in queue), or b)
# because the screen was on, but the last flight details got lost after other screens
# that we're no longer interested in
messageboard_flight_index = IdentifyFlightDisplayed(
flights, configuration, display_all_hours=True)
if messageboard_flight_index is not None:
message_queue = [m for m in message_queue if m[0] != FLAG_MSG_INSIGHT]
flight_message = CreateMessageAboutFlight(flights[messageboard_flight_index])
message_queue = [(FLAG_MSG_FLIGHT, flight_message)]
next_message_time = time.time()
elif command == 'histogram':
if not flights:
Log('Histogram requested by remote %s but no flights in memory' % str(args))
else:
histogram_type, histogram_history = args
message_queue.extend(MessageboardHistograms(
flights,
histogram_type,
histogram_history,
'_1',
False))
elif command == 'update_configuration':
WriteFile(CONFIG_FILE, *args)
else:
Log('Improper command from arduinos: %s / %s' % (command, args))
return message_queue, next_message_time
def PublishMessage(
s,
subscription_id='12fd73cd-75ef-4cae-bbbf-29b2678692c1',
key='c5f62d44-e30d-4c43-a43e-d4f65f4eb399',
secret='b00aeb24-72f3-467c-aad2-82ba5e5266ca',
timeout=3):
"""Publishes a text string to a Vestaboard.
The message is pushed to the vestaboard splitflap display by way of its web services;
see https://docs.vestaboard.com/introduction for more details.
Args:
<----SKIPPED LINES---->
|
01234567890123456789012345678901234567890123456789012345678901234567890123456789
539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454 |
<----SKIPPED LINES---->
configuration: dictionary of settings
message_queue: current message queue
next_message_time: epoch of the next message to display to screen
Returns:
A 2-tuple of the (possibly-updated) message_queue and next_message_time.
"""
while not q.empty():
command, args = q.get()
if command == 'pin':
UpdateStatusLight(*args)
elif command == 'replay':
# a command might request info about flight to be (re)displayed, irrespective of
# whether the screen is on; if so, let's put that message at the front of the message
# queue, and delete any subsequent messages in queue because presumably the button
# was pushed either a) when the screen was off (so no messages in queue), or b)
# because the screen was on, but the last flight details got lost after other screens
# that we're no longer interested in
Log('Replay requested') #TODO - remove
messageboard_flight_index = IdentifyFlightDisplayed(
flights, configuration, display_all_hours=True)
if messageboard_flight_index is not None:
message_queue = [m for m in message_queue if m[0] != FLAG_MSG_INSIGHT]
flight_message = CreateMessageAboutFlight(flights[messageboard_flight_index])
message_queue = [(FLAG_MSG_FLIGHT, flight_message)]
next_message_time = time.time()
elif command == 'histogram':
if not flights:
Log('Histogram requested by remote %s but no flights in memory' % str(args))
else:
histogram_type, histogram_history = args
message_queue.extend(MessageboardHistograms(
flights,
histogram_type,
histogram_history,
'_1',
False))
elif command == 'update_configuration':
Log('Writing CONFIG_FILE: %s' % str(args)) #TODO - remove
WriteFile(CONFIG_FILE, *args)
else:
Log('Improper command from arduinos: %s / %s' % (command, args))
return message_queue, next_message_time
def PublishMessage(
s,
subscription_id='12fd73cd-75ef-4cae-bbbf-29b2678692c1',
key='c5f62d44-e30d-4c43-a43e-d4f65f4eb399',
secret='b00aeb24-72f3-467c-aad2-82ba5e5266ca',
timeout=3):
"""Publishes a text string to a Vestaboard.
The message is pushed to the vestaboard splitflap display by way of its web services;
see https://docs.vestaboard.com/introduction for more details.
Args:
<----SKIPPED LINES---->
|