|
|
|
|
@ -31,6 +31,7 @@ change.
|
|
|
|
|
|
|
|
|
|
import configparser
|
|
|
|
|
import sys
|
|
|
|
|
import os
|
|
|
|
|
import const
|
|
|
|
|
|
|
|
|
|
import socket
|
|
|
|
|
@ -157,41 +158,6 @@ def build_config(_config_file):
|
|
|
|
|
'VALIDATE_SERVER_IDS': config.getboolean(section, 'VALIDATE_SERVER_IDS', fallback=True),
|
|
|
|
|
'DEBUG_BRIDGES' : config.getboolean(section, 'DEBUG_BRIDGES', fallback=False),
|
|
|
|
|
'ENABLE_API' : config.getboolean(section, 'ENABLE_API', fallback=False),
|
|
|
|
|
'ANNOUNCEMENT_ENABLED': config.getboolean(section, 'ANNOUNCEMENT_ENABLED', fallback=False),
|
|
|
|
|
'ANNOUNCEMENT_FILE': config.get(section, 'ANNOUNCEMENT_FILE', fallback='locucion'),
|
|
|
|
|
'ANNOUNCEMENT_TG': config.getint(section, 'ANNOUNCEMENT_TG', fallback=9),
|
|
|
|
|
'ANNOUNCEMENT_TIMESLOT': config.getint(section, 'ANNOUNCEMENT_TIMESLOT', fallback=2),
|
|
|
|
|
'ANNOUNCEMENT_MODE': config.get(section, 'ANNOUNCEMENT_MODE', fallback='hourly'),
|
|
|
|
|
'ANNOUNCEMENT_INTERVAL': config.getint(section, 'ANNOUNCEMENT_INTERVAL', fallback=3600),
|
|
|
|
|
'ANNOUNCEMENT_LANGUAGE': config.get(section, 'ANNOUNCEMENT_LANGUAGE', fallback='es_ES'),
|
|
|
|
|
'ANNOUNCEMENT2_ENABLED': config.getboolean(section, 'ANNOUNCEMENT2_ENABLED', fallback=False),
|
|
|
|
|
'ANNOUNCEMENT2_FILE': config.get(section, 'ANNOUNCEMENT2_FILE', fallback='locucion'),
|
|
|
|
|
'ANNOUNCEMENT2_TG': config.getint(section, 'ANNOUNCEMENT2_TG', fallback=9),
|
|
|
|
|
'ANNOUNCEMENT2_TIMESLOT': config.getint(section, 'ANNOUNCEMENT2_TIMESLOT', fallback=2),
|
|
|
|
|
'ANNOUNCEMENT2_MODE': config.get(section, 'ANNOUNCEMENT2_MODE', fallback='hourly'),
|
|
|
|
|
'ANNOUNCEMENT2_INTERVAL': config.getint(section, 'ANNOUNCEMENT2_INTERVAL', fallback=3600),
|
|
|
|
|
'ANNOUNCEMENT2_LANGUAGE': config.get(section, 'ANNOUNCEMENT2_LANGUAGE', fallback='es_ES'),
|
|
|
|
|
'ANNOUNCEMENT3_ENABLED': config.getboolean(section, 'ANNOUNCEMENT3_ENABLED', fallback=False),
|
|
|
|
|
'ANNOUNCEMENT3_FILE': config.get(section, 'ANNOUNCEMENT3_FILE', fallback='locucion'),
|
|
|
|
|
'ANNOUNCEMENT3_TG': config.getint(section, 'ANNOUNCEMENT3_TG', fallback=9),
|
|
|
|
|
'ANNOUNCEMENT3_TIMESLOT': config.getint(section, 'ANNOUNCEMENT3_TIMESLOT', fallback=2),
|
|
|
|
|
'ANNOUNCEMENT3_MODE': config.get(section, 'ANNOUNCEMENT3_MODE', fallback='hourly'),
|
|
|
|
|
'ANNOUNCEMENT3_INTERVAL': config.getint(section, 'ANNOUNCEMENT3_INTERVAL', fallback=3600),
|
|
|
|
|
'ANNOUNCEMENT3_LANGUAGE': config.get(section, 'ANNOUNCEMENT3_LANGUAGE', fallback='es_ES'),
|
|
|
|
|
'ANNOUNCEMENT4_ENABLED': config.getboolean(section, 'ANNOUNCEMENT4_ENABLED', fallback=False),
|
|
|
|
|
'ANNOUNCEMENT4_FILE': config.get(section, 'ANNOUNCEMENT4_FILE', fallback='locucion'),
|
|
|
|
|
'ANNOUNCEMENT4_TG': config.getint(section, 'ANNOUNCEMENT4_TG', fallback=9),
|
|
|
|
|
'ANNOUNCEMENT4_TIMESLOT': config.getint(section, 'ANNOUNCEMENT4_TIMESLOT', fallback=2),
|
|
|
|
|
'ANNOUNCEMENT4_MODE': config.get(section, 'ANNOUNCEMENT4_MODE', fallback='hourly'),
|
|
|
|
|
'ANNOUNCEMENT4_INTERVAL': config.getint(section, 'ANNOUNCEMENT4_INTERVAL', fallback=3600),
|
|
|
|
|
'ANNOUNCEMENT4_LANGUAGE': config.get(section, 'ANNOUNCEMENT4_LANGUAGE', fallback='es_ES'),
|
|
|
|
|
'RECORDING_ENABLED': config.getboolean(section, 'RECORDING_ENABLED', fallback=False),
|
|
|
|
|
'RECORDING_TG': config.getint(section, 'RECORDING_TG', fallback=9),
|
|
|
|
|
'RECORDING_TIMESLOT': config.getint(section, 'RECORDING_TIMESLOT', fallback=2),
|
|
|
|
|
'RECORDING_FILE': config.get(section, 'RECORDING_FILE', fallback='grabacion'),
|
|
|
|
|
'RECORDING_LANGUAGE': config.get(section, 'RECORDING_LANGUAGE', fallback='es_ES')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
if not CONFIG['GLOBAL']['ANNOUNCEMENT_LANGUAGES']:
|
|
|
|
|
CONFIG['GLOBAL']['ANNOUNCEMENT_LANGUAGES'] = languages
|
|
|
|
|
@ -429,7 +395,56 @@ def build_config(_config_file):
|
|
|
|
|
sys.exit('Error processing configuration file -- {}'.format(err))
|
|
|
|
|
|
|
|
|
|
process_acls(CONFIG)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_voice_cfg_dir = os.path.dirname(os.path.abspath(_config_file))
|
|
|
|
|
_voice_cfg_file = os.path.join(_voice_cfg_dir, 'voice.cfg')
|
|
|
|
|
|
|
|
|
|
voice_config = configparser.ConfigParser()
|
|
|
|
|
if os.path.isfile(_voice_cfg_file):
|
|
|
|
|
voice_config.read(_voice_cfg_file)
|
|
|
|
|
print('(CONFIG) Voice configuration loaded from {}'.format(_voice_cfg_file))
|
|
|
|
|
else:
|
|
|
|
|
print('(CONFIG) Voice configuration file not found ({}), using defaults (announcements/recording disabled)'.format(_voice_cfg_file))
|
|
|
|
|
|
|
|
|
|
_voice_section = 'VOICE'
|
|
|
|
|
_has_voice = voice_config.has_section(_voice_section)
|
|
|
|
|
|
|
|
|
|
CONFIG['GLOBAL'].update({
|
|
|
|
|
'ANNOUNCEMENT_ENABLED': voice_config.getboolean(_voice_section, 'ANNOUNCEMENT_ENABLED', fallback=False) if _has_voice else False,
|
|
|
|
|
'ANNOUNCEMENT_FILE': voice_config.get(_voice_section, 'ANNOUNCEMENT_FILE', fallback='locucion') if _has_voice else 'locucion',
|
|
|
|
|
'ANNOUNCEMENT_TG': voice_config.getint(_voice_section, 'ANNOUNCEMENT_TG', fallback=9) if _has_voice else 9,
|
|
|
|
|
'ANNOUNCEMENT_TIMESLOT': voice_config.getint(_voice_section, 'ANNOUNCEMENT_TIMESLOT', fallback=2) if _has_voice else 2,
|
|
|
|
|
'ANNOUNCEMENT_MODE': voice_config.get(_voice_section, 'ANNOUNCEMENT_MODE', fallback='hourly') if _has_voice else 'hourly',
|
|
|
|
|
'ANNOUNCEMENT_INTERVAL': voice_config.getint(_voice_section, 'ANNOUNCEMENT_INTERVAL', fallback=3600) if _has_voice else 3600,
|
|
|
|
|
'ANNOUNCEMENT_LANGUAGE': voice_config.get(_voice_section, 'ANNOUNCEMENT_LANGUAGE', fallback='es_ES') if _has_voice else 'es_ES',
|
|
|
|
|
'ANNOUNCEMENT2_ENABLED': voice_config.getboolean(_voice_section, 'ANNOUNCEMENT2_ENABLED', fallback=False) if _has_voice else False,
|
|
|
|
|
'ANNOUNCEMENT2_FILE': voice_config.get(_voice_section, 'ANNOUNCEMENT2_FILE', fallback='locucion') if _has_voice else 'locucion',
|
|
|
|
|
'ANNOUNCEMENT2_TG': voice_config.getint(_voice_section, 'ANNOUNCEMENT2_TG', fallback=9) if _has_voice else 9,
|
|
|
|
|
'ANNOUNCEMENT2_TIMESLOT': voice_config.getint(_voice_section, 'ANNOUNCEMENT2_TIMESLOT', fallback=2) if _has_voice else 2,
|
|
|
|
|
'ANNOUNCEMENT2_MODE': voice_config.get(_voice_section, 'ANNOUNCEMENT2_MODE', fallback='hourly') if _has_voice else 'hourly',
|
|
|
|
|
'ANNOUNCEMENT2_INTERVAL': voice_config.getint(_voice_section, 'ANNOUNCEMENT2_INTERVAL', fallback=3600) if _has_voice else 3600,
|
|
|
|
|
'ANNOUNCEMENT2_LANGUAGE': voice_config.get(_voice_section, 'ANNOUNCEMENT2_LANGUAGE', fallback='es_ES') if _has_voice else 'es_ES',
|
|
|
|
|
'ANNOUNCEMENT3_ENABLED': voice_config.getboolean(_voice_section, 'ANNOUNCEMENT3_ENABLED', fallback=False) if _has_voice else False,
|
|
|
|
|
'ANNOUNCEMENT3_FILE': voice_config.get(_voice_section, 'ANNOUNCEMENT3_FILE', fallback='locucion') if _has_voice else 'locucion',
|
|
|
|
|
'ANNOUNCEMENT3_TG': voice_config.getint(_voice_section, 'ANNOUNCEMENT3_TG', fallback=9) if _has_voice else 9,
|
|
|
|
|
'ANNOUNCEMENT3_TIMESLOT': voice_config.getint(_voice_section, 'ANNOUNCEMENT3_TIMESLOT', fallback=2) if _has_voice else 2,
|
|
|
|
|
'ANNOUNCEMENT3_MODE': voice_config.get(_voice_section, 'ANNOUNCEMENT3_MODE', fallback='hourly') if _has_voice else 'hourly',
|
|
|
|
|
'ANNOUNCEMENT3_INTERVAL': voice_config.getint(_voice_section, 'ANNOUNCEMENT3_INTERVAL', fallback=3600) if _has_voice else 3600,
|
|
|
|
|
'ANNOUNCEMENT3_LANGUAGE': voice_config.get(_voice_section, 'ANNOUNCEMENT3_LANGUAGE', fallback='es_ES') if _has_voice else 'es_ES',
|
|
|
|
|
'ANNOUNCEMENT4_ENABLED': voice_config.getboolean(_voice_section, 'ANNOUNCEMENT4_ENABLED', fallback=False) if _has_voice else False,
|
|
|
|
|
'ANNOUNCEMENT4_FILE': voice_config.get(_voice_section, 'ANNOUNCEMENT4_FILE', fallback='locucion') if _has_voice else 'locucion',
|
|
|
|
|
'ANNOUNCEMENT4_TG': voice_config.getint(_voice_section, 'ANNOUNCEMENT4_TG', fallback=9) if _has_voice else 9,
|
|
|
|
|
'ANNOUNCEMENT4_TIMESLOT': voice_config.getint(_voice_section, 'ANNOUNCEMENT4_TIMESLOT', fallback=2) if _has_voice else 2,
|
|
|
|
|
'ANNOUNCEMENT4_MODE': voice_config.get(_voice_section, 'ANNOUNCEMENT4_MODE', fallback='hourly') if _has_voice else 'hourly',
|
|
|
|
|
'ANNOUNCEMENT4_INTERVAL': voice_config.getint(_voice_section, 'ANNOUNCEMENT4_INTERVAL', fallback=3600) if _has_voice else 3600,
|
|
|
|
|
'ANNOUNCEMENT4_LANGUAGE': voice_config.get(_voice_section, 'ANNOUNCEMENT4_LANGUAGE', fallback='es_ES') if _has_voice else 'es_ES',
|
|
|
|
|
'RECORDING_ENABLED': voice_config.getboolean(_voice_section, 'RECORDING_ENABLED', fallback=False) if _has_voice else False,
|
|
|
|
|
'RECORDING_TG': voice_config.getint(_voice_section, 'RECORDING_TG', fallback=9) if _has_voice else 9,
|
|
|
|
|
'RECORDING_TIMESLOT': voice_config.getint(_voice_section, 'RECORDING_TIMESLOT', fallback=2) if _has_voice else 2,
|
|
|
|
|
'RECORDING_FILE': voice_config.get(_voice_section, 'RECORDING_FILE', fallback='grabacion') if _has_voice else 'grabacion',
|
|
|
|
|
'RECORDING_LANGUAGE': voice_config.get(_voice_section, 'RECORDING_LANGUAGE', fallback='es_ES') if _has_voice else 'es_ES',
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
return CONFIG
|
|
|
|
|
|
|
|
|
|
# Used to run this file direclty and print the config,
|
|
|
|
|
|