diff --git a/bridge_master.py b/bridge_master.py index 8b07e25..9c7c296 100755 --- a/bridge_master.py +++ b/bridge_master.py @@ -56,6 +56,9 @@ from mk_voice import pkt_gen #Read voices from read_ambe import readAMBE +#MySQL +from mysql_config import useMYSQL + # Stuff for socket reporting import pickle # REMOVE LATER from datetime import datetime @@ -1028,6 +1031,25 @@ if __name__ == '__main__': logger.info('\n\nCopyright (c) 2013, 2014, 2015, 2016, 2018, 2019\n\tThe Regents of the K0USY Group. All rights reserved.\n') logger.debug('(GLOBAL) Logging system started, anything from here on gets logged') + + #If MySQL is enabled, read master config from MySQL too + if CONFIG['MYSQL']['USE_MYSQL'] == True: + logger.debug('(MYSQL) MySQL config enabled') + SQLCONFIG = {} + sql = useMYSQL(CONFIG['MYSQL']['SERVER'], CONFIG['MYSQL']['USER'], CONFIG['MYSQL']['PASS'], CONFIG['MYSQL']['DB']) + if sql.con(): + logger.debug('(MYSQL) reading config from database') + try: + SQLCONFIG = sql.getConfig() + except: + logger.debug('(MYSQL) problem with SQL query, aborting') + sql.close() + else: + logger.debug('(MYSQL) problem connecting to SQL server, aborting') + + #Add MySQL config data to config dict + CONFIG['SYSTEMS'].update(SQLCONFIG) + # Set up the signal handler def sig_handler(_signal, _frame): logger.info('(GLOBAL) SHUTDOWN: CONFBRIDGE IS TERMINATING WITH SIGNAL %s', str(_signal)) diff --git a/config.py b/config.py index e4cd3f4..fc74b79 100755 --- a/config.py +++ b/config.py @@ -161,7 +161,7 @@ def build_config(_config_file): 'PASS': config.get(section, 'PASS'), 'DB': config.get(section, 'DB'), 'SERVER': config.get(section, 'SERVER'), - 'PORT': config.getint('PORT') + 'PORT': config.getint(section,'PORT') }) diff --git a/mysql_config.py b/mysql_config.py index b3b6d5c..d53d7a1 100644 --- a/mysql_config.py +++ b/mysql_config.py @@ -44,7 +44,7 @@ class useMYSQL: _cursor.execute("select * from repeaters where ENABLED=1 and MODE='MASTER'") except mysql.connector.Error as err: _cursor.close() - return(False) + raise Exception('Problem with cursor execute') for (callsign, mode, enabled, _repeat, max_peers, export_ambe, ip, port, passphrase, group_hangtime, use_acl, reg_acl, sub_acl, tgid_ts1_acl, tgid_ts2_acl, default_ua_timer, single_mode, voice_ident) in _cursor: @@ -68,7 +68,7 @@ class useMYSQL: }}) CONFIG['SYSTEMS'][callsign].update({'PEERS': {}}) - return(CONFIG) + return(CONFIG['SYSTEMS']) #For testing