代码拉取完成,页面将自动刷新
#!/usr/bin/env python3
import argparse
import importlib
import importlib.machinery
import importlib.util
import logging
import os
import pathlib
import sys
import yaml
from utility import log as log_util, file as file_util
sys.path.append(pathlib.Path(__file__).parent.parent.as_posix())
logger = logging.getLogger()
def execute():
parser = argparse.ArgumentParser()
parser.add_argument('--param', nargs="+", default=[])
parser.add_argument('--init', action="store_true")
parser.add_argument('--debug', action="store_true")
parser.add_argument('--env', required=True)
parser.add_argument('--log-file')
parser.add_argument('--cmd')
args = parser.parse_args()
param_iter = iter(args.param)
param_input: dict = dict(zip(param_iter, param_iter))
os.environ.__setattr__("run_args", args)
env_path = pathlib.Path(args.env).resolve()
env_stem = env_path.parent.stem
log_file = os.environ.run_args.log_file
log_util.init_logger(file=env_path.parent.joinpath(log_file).resolve() if log_file is not None else None)
# empty source log
default_path_module = importlib.import_module("domain.default.path")
# injected param to global
env_pwd_mod = importlib.import_module("".join(["shell.", env_stem, "._env"]))
env_common_mod = env_pwd_mod.env_common
default_common_mod = importlib.import_module("domain.default.common")
env_output_yaml = pathlib.Path(getattr(default_path_module, "output")).joinpath("env.yaml")
if args.init:
env_common_mod.__dict__.update(dict({k: v for k, v in env_pwd_mod.__dict__.items() if k.startswith("param")}).items(), **param_input)
default_common_mod.__dict__.update(dict({k: v for k, v in env_common_mod.__dict__.items() if k.startswith("param")}))
default_common_param = dict({k: v for k, v in default_common_mod.__dict__.items() if k.startswith("param")})
file_util.write_text(env_output_yaml, yaml.dump(default_common_param))
else:
default_common_mod.__dict__.update(yaml.full_load(file_util.read_text(env_output_yaml)))
if args.cmd:
exec(args.cmd)
if __name__ == '__main__':
execute()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。