| 343 | |
| 344 | @staticmethod |
| 345 | def _diff_msg(conf: dict[str, Any], old: dict[str, Any]) -> str: |
| 346 | result: list[str] = [] |
| 347 | added = [f"{k}={v!r}" for k, v in conf.items() if k not in old] |
| 348 | if added: # pragma: no branch |
| 349 | result.append(f"added {' | '.join(added)}") |
| 350 | removed = [f"{k}={v!r}" for k, v in old.items() if k not in conf] |
| 351 | if removed: |
| 352 | result.append(f"removed {' | '.join(removed)}") |
| 353 | changed = [f"{k}={old[k]!r}->{v!r}" for k, v in conf.items() if k in old and v != old[k]] |
| 354 | if changed: |
| 355 | result.append(f"changed {' | '.join(changed)}") |
| 356 | return f"python {', '.join(result)}" |
| 357 | |
| 358 | @abstractmethod |
| 359 | def prepend_env_var_path(self) -> list[Path]: |