trafficlights/period-test.py

47 lines
1.3 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
import json
import datetime
from simulation import SimulationThread
def main():
periods = json.load(open("periods.json"))
print("Period listing:")
for period in periods:
period_start_time = datetime.time.fromisoformat(period["timestart"])
print("Name: {}\t\tTime start: {}".format(period["name"], period_start_time))
print(" Number of states: {}".format(len(period["states"])))
test_times = [
"00:00:00",
"07:59:59",
"08:00:00",
"09:59:59",
"10:00:00",
"16:59:59",
"17:00:00",
"18:59:59",
"19:00:00",
"23:59:59",
]
SimulationThread.initialize(periods, datetime.time.fromisoformat("07:59"), 60, 4.0, True)
for test_time in test_times:
test_time_obj = datetime.time.fromisoformat(test_time)
print("Period matching time {} is '{}'".format(test_time, periods[SimulationThread.get_instance()._get_period_index(test_time_obj)]["verbose-name"]))
print("Starting thread...")
SimulationThread.get_instance().start()
SimulationThread.get_instance().join()
print("Thread finished")
print(SimulationThread.get_instance().get_snapshot())
if __name__ == '__main__':
main()