########################################################################### # # Copyright (c) 2021-2024 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file test_data_logger.py # # @author (last) Peter Lucia # @date (last) 21-May-2021 # @author (original) Peter Lucia # @date (original) 30-Apr-2021 # ############################################################################ import sys from time import sleep sys.path.append("../../") from dialin import HD, AbstractObserver from dialin.utils import DataLogger DATETIME_FMT_LOGGING = "%m/%d/%y %I:%M:%S.%f" class Observer(AbstractObserver): def __init__(self, data_logger: DataLogger): self.data_logger = data_logger def update(self, result): print(result) timestamp = result.get("datetime").strftime(DATETIME_FMT_LOGGING) subsystem = result.get("subsystem") for key, value in result.items(): self.data_logger.add_data((subsystem, timestamp, key, value)) def run(): hd = HD(log_level="DEBUG") data_logger = DataLogger("/tmp/") observer = Observer(data_logger) hd.attach(observer) duration_seconds = 20 for _ in range(duration_seconds): sleep(1) data_logger.export_to_xlsx("/home/denali/Downloads/DialinData3.xlsx") if __name__ == '__main__': run()