summaryrefslogtreecommitdiff
path: root/util.py
blob: 70afcefc9d21e247f73101f712d7b81ce604c122 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# SPDX-License-Identifier: AGPL-3.0-or-later

import os
import yaml

def write_default_config(disk, global_params, user='test', uid=1001, gid=None):
    if gid is None:
        gid = uid
    home = '/home/{}'.format(user)
    params_file = os.path.join(home, '.kpov_params.yaml')
    default_params = {}
    for k in [
            'task_name',
            'username',
            'task_url']:
        if k in global_params:
            default_params[k] = global_params[k]
    disk.write(params_file, yaml.dump(default_params))
    disk.chown(uid, gid, params_file)

    mydir = os.path.dirname(os.path.abspath(__file__))
    # write testing script and helper
    for f in ['test_task.py', 'kpov_util.py']:
        src = os.path.join(mydir, f)
        dst = os.path.join(home, f)
        disk.write(dst, open(src).read())
        disk.chmod(0o755, dst)
    disk.copy_in(os.path.join(mydir, 'random_data'), home)