janus: Convert action to privileged

Tests: Run functional tests for janus.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
James Valleroy 2022-08-23 08:57:34 -04:00 committed by Sunil Mohan Adapa
parent 7fc3ce7c20
commit 6ede12da25
No known key found for this signature in database
GPG Key ID: 43EA1CFF0AA7C5F2
3 changed files with 27 additions and 49 deletions

View File

@ -1,46 +0,0 @@
#!/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()

View File

@ -6,7 +6,6 @@ FreedomBox app for janus.
from django.urls import reverse_lazy
from django.utils.translation import gettext_lazy as _
from plinth import actions
from plinth import app as app_module
from plinth import frontpage, menu
from plinth.daemon import Daemon
@ -17,7 +16,7 @@ from plinth.modules.firewall.components import Firewall
from plinth.package import Packages
from plinth.utils import format_lazy
from . import manifest
from . import manifest, privileged
_description = [
_('Janus is a lightweight WebRTC server.'),
@ -90,5 +89,5 @@ class JanusApp(app_module.App):
def setup(self, old_version):
"""Install and configure the app."""
super().setup(old_version)
actions.superuser_run('janus', ['setup'])
privileged.setup()
self.enable()

View File

@ -0,0 +1,25 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Configure Janus server.
"""
from plinth import action_utils
from plinth.actions import privileged
JANUS_CONF_PATH = '/etc/janus/janus.jcfg'
@privileged
def setup():
"""Setup 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')