def orphans(self: 'ModPack', mods: Mapping[int, Mod]=None) -> Generator[File, None, None]:
"""Finds all no longer needed dependencies.
Keyword arguments:
mods: Optional mapping of installed mods [default: self.mods].
The purpose of this parameter is to be able to override
really installed mods without changing the property directly.
Yields:
Orphaned files.
"""
if mods is None:
mods = self.mods
needed = {}
for file in mods.values():
needed.update(resolve(file, pool=self.installed))
# Filter unneeded dependencies
yield from (
file for m_id, file in self.dependencies.items()
if m_id not in needed
)
评论列表
文章目录