StarRailCopilot/deploy/set.py

47 lines
1.1 KiB
Python
Raw Normal View History

2023-05-14 07:48:34 +00:00
import sys
import typing as t
from deploy.Windows.utils import poor_yaml_read, poor_yaml_write, DEPLOY_TEMPLATE
"""
Set config/deploy.yaml with commands like
python -m deploy.set GitExecutable=/usr/bin/git PythonExecutable=/usr/bin/python3.8
"""
def get_args() -> t.Dict[str, str]:
args = {}
for arg in sys.argv[1:]:
if '=' not in arg:
continue
k, v = arg.split('=')
k, v = k.strip(), v.strip()
args[k] = v
return args
def config_set(modify: t.Dict[str, str], output='./config/deploy.yaml') -> t.Dict[str, str]:
"""
Args:
modify: A dict of key-value in deploy.yaml
output:
Returns:
The updated key-value in deploy.yaml
"""
data = poor_yaml_read(DEPLOY_TEMPLATE)
data.update(poor_yaml_read(output))
for k, v in modify.items():
if k in data:
print(f'Key "{k}" set')
data[k] = v
else:
print(f'Key "{k}" not exist')
poor_yaml_write(data, file=output)
return data
if __name__ == '__main__':
config_set(get_args())