#!/opt/plesk/python/2.7/bin/python
# Copyright 1999-2017. Plesk International GmbH. All rights reserved.

import platform
import os
import sys

if platform.system() != 'Windows':
    # Configure migrator so:
    # - nobody except root and Plesk user under which migrator is running can read/modify the files.
    # - both backend (running as superuser) and frontend (running as "psaadm") could work with the files.
    # Expected permissions for files created by backend are:
    # rw-rw---- root psaadm
    # Expected permissions for directories created by backend are:
    # rwxrwx--- root psaadm
    # So, frontend could work with files by group "psadm", and backend could work with the files as superuser.
    import grp

    try:
        frontend_group_entry = grp.getgrnam('psaadm')
    except KeyError:
        frontend_group_entry = None

    if frontend_group_entry is not None:
        frontend_group_id = frontend_group_entry.gr_gid
        os.setegid(frontend_group_id)

    # Do not allow others to work with files
    os.umask(0o007)

execution_path = __file__
while os.path.islink(execution_path):
    execution_path = os.readlink(execution_path)

base_dir = '/usr/local/psa/admin/plib/modules/panel-migrator/backend'
lib_dir = '/usr/local/psa/admin/plib/modules/panel-migrator/backend/lib'
var_dir = '/usr/local/psa/var/modules/panel-migrator'

sys.path.extend([os.path.join(lib_dir, 'python')])

from parallels.core.cli.migration_cli import run

if __name__ == '__main__':
    sys.exit(run(base_dir, var_dir, execution_path, sys.argv[1:]))
