Improve skills and document updates
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user