Admin Panel
from amitools.vamos.cfg import PathParser
import argparse
def cfg_path_ini_empty_test():
lp = PathParser()
ini_dict = {
}
lp.parse_config(ini_dict, 'ini')
assert lp.get_cfg_dict() == {
"volumes": None,
"assigns": None,
"path": {
"command": None,
"cwd": None,
"vols_base_dir": "~/.vamos/volumes",
"auto_assigns": None,
"auto_volumes": None
}
}
def cfg_path_ini_test():
lp = PathParser()
ini_dict = {
"volumes": [
["sys", "~/.vamos/sys"],
["work", "~/amiga/work"],
["home", "~"]
],
"assigns": [
["c", "sys:c,sc:c,home:c"],
["libs", "sys:libs"],
["devs", "sys:devs"]
],
"path": {
"path": "c:,work:c",
"cwd": "~/amiga",
"auto_volumes": ['a', 'b'],
"auto_assigns": ['c', 'd']
}
}
lp.parse_config(ini_dict, 'ini')
assert lp.get_cfg_dict() == {
"volumes": [
"sys:~/.vamos/sys",
"work:~/amiga/work",
"home:~"
],
"assigns": [
"c:sys:c+sc:c+home:c",
"libs:sys:libs",
"devs:sys:devs"
],
"path": {
"command": ["c:", "work:c"],
"cwd": "~/amiga",
"vols_base_dir": "~/.vamos/volumes",
"auto_volumes": ['a', 'b'],
"auto_assigns": ['c', 'd']
}
}
def cfg_path_args_test():
lp = PathParser()
ap = argparse.ArgumentParser()
lp.setup_args(ap)
args = ap.parse_args(
['-p', 'c:,work:c',
'--cwd', '~/amiga',
'-a', 'c:sys:c+sc:c,libs:sys:libs',
'-a', 'devs:sys:devs',
'-V', 'sys:~/.vamos/sys',
'-V', 'work:~/amiga/work,home:~',
'-V', 'local:',
'--auto-volumes', 'a,b',
'--auto-assigns', 'c,d',
'--vols-base-dir', '/bla'
])
lp.parse_args(args)
assert lp.get_cfg_dict() == {
"volumes": [
"sys:~/.vamos/sys",
"work:~/amiga/work",
"home:~",
"local:"
],
"assigns": [
"c:sys:c+sc:c",
"libs:sys:libs",
"devs:sys:devs"
],
"path": {
"command": ["c:", "work:c"],
"cwd": "~/amiga",
"vols_base_dir": "/bla",
"auto_volumes": ['a', 'b'],
"auto_assigns": ['c', 'd']
}
}
def cfg_path_ini_args_test():
lp = PathParser()
ini_dict = {
"volumes": [
["sys", "~/.vamos/sys"],
],
"assigns": [
["c", "sys:c"],
["libs", "sys:libs"],
],
"path": {
"path": "c:",
"cwd": "~/amiga",
"auto_volumes": ['a'],
"auto_assigns": ['x']
}
}
lp.parse_config(ini_dict, 'ini')
ap = argparse.ArgumentParser()
lp.setup_args(ap)
args = ap.parse_args(
['-p', 'work:c',
'-p', 'sys:t',
'--cwd', '~/amiga',
'-a', 'c:sc:c',
'-a', 'c:work:c',
'-a', 'devs:sys:devs',
'-V', 'work:~/amiga/work',
'-V', 'home:~',
'-V', 'local:',
'--vols-base-dir', '/bla',
'--auto-volumes', 'b,c',
'--auto-assigns', 'y,z'
])
lp.parse_args(args)
assert lp.get_cfg_dict() == {
"volumes": [
"sys:~/.vamos/sys",
"work:~/amiga/work",
"home:~",
"local:"
],
"assigns": [
"c:sys:c",
"libs:sys:libs",
"c:sc:c",
"c:work:c",
"devs:sys:devs"
],
"path": {
"command": ["c:", "work:c", "sys:t"],
"cwd": "~/amiga",
"vols_base_dir": "/bla",
"auto_volumes": ['a', 'b', 'c'],
"auto_assigns": ['x', 'y', 'z']
}
}