#!/usr/bin/python3 # SPDX-License-Identifier: AGPL-3.0-or-later """ Configuration helper for Janus server. """ import argparse from plinth import action_utils JANUS_CONF_PATH = '/etc/janus/janus.jcfg' def parse_arguments(): """Return parsed command line arguments as dictionary""" parser = argparse.ArgumentParser() subparsers = parser.add_subparsers(dest='subcommand', help='Sub command') subparsers.add_parser('setup', help='Configure Janus server') subparsers.required = True return parser.parse_args() def subcommand_setup(_): """Configure Janus server.""" with open(JANUS_CONF_PATH, 'r', encoding='utf-8') as config_file: config_lines = config_file.readlines() with open(JANUS_CONF_PATH, 'w', encoding='utf-8') as config_file: for line in config_lines: if '#rtp_port_range' in line: config_file.write("\trtp_port_range = \"50176-51199\"\n") else: config_file.write(line) action_utils.service_try_restart('janus') def main(): arguments = parse_arguments() sub_command = arguments.subcommand.replace('-', '_') sub_command_method = globals()['subcommand_' + sub_command] sub_command_method(arguments) if __name__ == '__main__': main()