introspection

This commit is contained in:
2026-01-20 20:24:22 +05:30
parent c910da9d14
commit 102ea4e215
26 changed files with 525 additions and 0 deletions

25
docforge/model/project.py Normal file
View File

@@ -0,0 +1,25 @@
from __future__ import annotations
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())