From 10a21ed1188e1ad55e8eee62cf7616d7d44f7779 Mon Sep 17 00:00:00 2001 From: Cort Buffington Date: Sun, 7 Jun 2015 20:54:21 -0500 Subject: [PATCH] Word on data reporting options in the process of adding several ways to dump the data structure from each IPSC for processing by some external program. --- dmrlink.py | 11 ++++++++--- dmrlink_SAMPLE.cfg | 8 +++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/dmrlink.py b/dmrlink.py index b525fb5..bafb881 100755 --- a/dmrlink.py +++ b/dmrlink.py @@ -79,6 +79,7 @@ try: REPORTS = { 'REPORT_NETWORKS': config.get(section, 'REPORT_NETWORKS'), 'REPORT_INTERVAL': config.getint(section, 'REPORT_INTERVAL'), + 'REPORT_PATH': config.get(section, 'REPORT_PATH'), 'PRINT_PEERS_INC_MODE': config.getboolean(section, 'PRINT_PEERS_INC_MODE'), 'PRINT_PEERS_INC_FLAGS': config.getboolean(section, 'PRINT_PEERS_INC_FLAGS') } @@ -973,15 +974,19 @@ class IPSC(DatagramProtocol): # REPORT BASED ON THE TYPE SELECTED IN THE MAIN CONFIG FILE if REPORTS['REPORT_NETWORKS'] == 'PICKLE': def reporting_loop(self): - logger.debug('(%s) Periodic Reporting Loop Started', self._network) + logger.debug('(%s) Periodic Reporting Loop Started (PICKLE)', self._network) elif REPORTS['REPORT_NETWORKS'] == 'JSON': def reporting_loop(self): - logger.debug('(%s) Periodic Reporting Loop Started', self._network) + logger.debug('(%s) Periodic Reporting Loop Started (JSON)', self._network) + + elif REPORTS['REPORT_NETWORKS'] == 'REDIS': + def reporting_loop(self): + logger.debug('(%s) Periodic Reporting Loop Started (REDIS)', self._network) elif REPORTS['REPORT_NETWORKS'] == 'PRINT': def reporting_loop(self): - logger.debug('(%s) Periodic Reporting Loop Started', self._network) + logger.debug('(%s) Periodic Reporting Loop Started (PRINT)', self._network) print_master(self._network) print_peer_list(self._network) diff --git a/dmrlink_SAMPLE.cfg b/dmrlink_SAMPLE.cfg index 6f07934..9161318 100644 --- a/dmrlink_SAMPLE.cfg +++ b/dmrlink_SAMPLE.cfg @@ -15,10 +15,16 @@ PATH: /absolute/path/to/DMRlink # for "REPORT_NETWORKS" are: # PICKLE - a Python pickle file of the network's data structure # JSON - a JSON file of the network's data structure -# PRINT - a pretty print (STOUT) of the data structure +# REDIS - send JSON format data structure to a local|remote +# redis server +# PRINT - a pretty print (STDOUT) of the data structure # "PRINT_PEERS_INC_MODE" - Boolean to include mode bits # "PRINT_PEERS_INC_FLAGS" - Boolean to include flag bits # +# PRINT is the odd man out because it sends prettily formatted stuff +# to STDOUT. The others send the internal data structure of the IPSC +# instance and let some program on the other end sort it out. +# [REPORTS] REPORT_NETWORKS: REPORT_INTERVAL: 60