Files
doc-forge/docforge/model/object.py

30 lines
757 B
Python

from typing import Dict, Iterable, Optional
class DocObject:
"""Represents a documented Python object."""
def __init__(
self,
name: str,
kind: str,
path: str,
signature: Optional[str] = None,
docstring: Optional[str] = None,
) -> None:
self.name = name
self.kind = kind
self.path = path
self.signature = signature
self.docstring = docstring
self.members: Dict[str, DocObject] = {}
def add_member(self, obj: DocObject) -> None:
self.members[obj.name] = obj
def get_member(self, name: str) -> DocObject:
return self.members[name]
def get_all_members(self) -> Iterable[DocObject]:
return self.members.values()