Improve skills and document updates

This commit is contained in:
pleb
2026-10-21 17:47:56 -07:00
committed by pleb
parent ed71a6d081
commit 4d6f9b8be0
13 changed files with 148 additions and 52 deletions
+1
View File
@@ -572,6 +572,7 @@ def run(argv: list[str] | None = None) -> int:
)
print(f"Wrote plan: {path}")
print(f"Changes: {len(plan['changes'])}")
print(f"Already match: {len(plan.get('unchanged', []))}")
for warning in plan["warnings"]:
print(f"Warning: {warning}", file=sys.stderr)
return 0
+8
View File
@@ -69,6 +69,11 @@ def _asset_matches_patterns(name: str, patterns: tuple[str, ...]) -> bool:
return not patterns or any(fnmatch.fnmatch(name, pattern) for pattern in patterns)
def _target_matches_live(instance_path: Path, change: dict[str, Any]) -> bool:
target = instance_path / ensure_relative(change["target"])
return target.is_file() and sha256_file(target) == change["sha256"]
def _expand_required_dependencies(selected_ids: set[str], registry: Registry, lockfile: Lockfile) -> set[str]:
locked_ids = {plugin.id for plugin in lockfile.plugins}
expanded = set(selected_ids)
@@ -171,6 +176,8 @@ def create_plan(
}
)
unchanged = [change for change in changes if _target_matches_live(instance_path, change)]
changes = [change for change in changes if change not in unchanged]
plan = {
"schemaVersion": 1,
"createdAt": datetime.now(timezone.utc).isoformat().replace("+00:00", "Z"),
@@ -179,6 +186,7 @@ def create_plan(
"beatSaberVersion": beat_saber_version,
"warnings": warnings,
"changes": changes,
"unchanged": unchanged,
}
if install_id:
plan["installId"] = install_id