from typing import Dict, Iterable from docforge.model.module import Module class Project: """Represents a documentation project.""" def __init__(self, name: str) -> None: self.name = name self.modules: Dict[str, Module] = {} def add_module(self, module: Module) -> None: self.modules[module.path] = module def get_module(self, path: str) -> Module: return self.modules[path] def get_all_modules(self) -> Iterable[Module]: return self.modules.values() def get_module_list(self) -> list[str]: return list(self.modules.keys())