Compare commits

..

No commits in common. "9040b262795edac5183cb4051edc79421e912656" and "69f6a118749bfe6b14133c4604100a59c7cefb32" have entirely different histories.

2 changed files with 11 additions and 47 deletions

View File

@ -94,12 +94,12 @@ def assert_venv(only_warn: bool = False):
exit(1)
def write_compile_config(local: bool, disable_requests: bool = False):
def write_compile_config(local: bool):
assert_venv(only_warn=not local)
compiled_base_dir = VENV_DIRECTORY if local else CONFIG_DIRECTORY
compiled_config_file = compiled_base_dir / COMPILED_CONFIG_FILE_NAME
compiled = compile_config(disable_requests=disable_requests)
compiled = compile_config()
mommy_logger.info("mommy writes its moods in %s", compiled_config_file)
serious_logger.info("writing compiled config file to %s", compiled_config_file)
compiled_base_dir.mkdir(parents=True, exist_ok=True)
@ -169,16 +169,9 @@ def cli_compile_config():
help="compile the config only for the current virtual environment"
)
parser.add_argument(
"-r", "--no-requests",
action="store_true",
help="by default if makes one request to GitHub to fetch the newest responses, this disables that"
)
args = parser.parse_args()
config_logging(args.verbose)
write_compile_config(args.local, disable_requests=args.no_requests)
write_compile_config(args.local)
def mommify_venv():
@ -196,12 +189,6 @@ def mommify_venv():
help="compile the config only for the current virtual environment"
)
parser.add_argument(
"-r", "--no-requests",
action="store_true",
help="by default if makes one request to GitHub to fetch the newest responses, this disables that"
)
args = parser.parse_args()
config_logging(args.verbose)
@ -217,17 +204,10 @@ def mommify_venv():
mommy_logger.info("mommy looks in %s to mess your system up~ <33", str(bin_path))
serious_logger.info("scanning binary directory of venv at %s", str(bin_path))
# resolving the symlinks before making edits to anything because else it will mess up the resolving
# and link to the wrapper instead of the original script
resolved_symlinks = {
path.name: path.resolve()
for path in bin_path.iterdir()
if path.is_symlink()
}
serious_logger.debug("resolved symlinks:\n%s", "\n".join(
f"\t{name} => {str(target)}"
for name, target in resolved_symlinks.items()
))
resolved_symlinks = {}
for path in list(bin_path.iterdir()):
if path.is_symlink():
resolved_symlinks[path.name] = path.resolve()
for path in list(bin_path.iterdir()):
name = path.name
@ -238,8 +218,7 @@ def mommify_venv():
if name.startswith("inner_"):
continue
RANDOM_RETURNCODE = 161
if subprocess.run([str(path), '-c', f'exit({RANDOM_RETURNCODE})']).returncode != RANDOM_RETURNCODE:
if subprocess.run([str(path), '-c', '"exit(0)"']).returncode != 0:
continue
wrap_interpreter(path, resolved_symlinks[path.name])

View File

@ -25,7 +25,7 @@ ADDITIONAL_ENV_VARS = {
def _load_config_file(config_file: Path) -> dict:
def _load_config_file(config_file: Path) -> Dict[str, List[str]]:
with config_file.open("r") as f:
data = toml.load(f)
@ -95,22 +95,7 @@ def compile_config(disable_requests: bool = False) -> dict:
# load config file
config_file = get_config_file()
if config_file is not None:
c = _load_config_file(config_file)
serious_logger.debug(
"config at %s:\n%s\n",
config_file,
json.dumps(c, indent=4)
)
config["mood"] = c.get("moods", config["mood"])
c_vars: dict = c.get("vars", {})
# validate the config var values
for key, val in c_vars.items():
if not isinstance(val, list):
mommy_logger.error("mommy needs the value of %s to be a list~", key)
serious_logger.error("the value of %s is not a list", key)
exit(1)
config.update(c_vars)
config.update(_load_config_file(config_file))
# fill config with env
for key, conf in config_definition.items():