#!/usr/bin/python3
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Configuration helper for Roundcube server.
"""

import argparse

from plinth import action_utils


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('pre-install',
                          help='Perform Roundcube pre-install configuration')

    subparsers.required = True
    return parser.parse_args()


def subcommand_pre_install(_):
    """Preseed debconf values before packages are installed."""
    action_utils.debconf_set_selections([
        'roundcube-core roundcube/dbconfig-install boolean true',
        'roundcube-core roundcube/database-type string sqlite3'
    ])


def main():
    """Parse arguments and perform all duties."""
    arguments = parse_arguments()

    subcommand = arguments.subcommand.replace('-', '_')
    subcommand_method = globals()['subcommand_' + subcommand]
    subcommand_method(arguments)


if __name__ == '__main__':
    main()
