From f4cdd549efcf1f322bb0411e84d6b3cb7b7bd50b Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sat, 31 Jan 2026 17:12:01 +0000 Subject: [PATCH] Add generators module --- src/docgen/generators/base.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/docgen/generators/base.py diff --git a/src/docgen/generators/base.py b/src/docgen/generators/base.py new file mode 100644 index 0000000..3be07c3 --- /dev/null +++ b/src/docgen/generators/base.py @@ -0,0 +1,23 @@ +"""Base generator class.""" + +from abc import ABC, abstractmethod +from pathlib import Path +from typing import Optional +from docgen.models import DocConfig, Endpoint + + +class BaseGenerator(ABC): + """Abstract base class for documentation generators.""" + + def __init__(self, config: Optional[DocConfig] = None): + self.config = config or DocConfig() + + @abstractmethod + def generate(self, endpoints: list[Endpoint], output_dir: Path) -> Path: + """Generate documentation and return the output path.""" + pass + + def _ensure_output_dir(self, output_dir: Path) -> Path: + """Ensure output directory exists.""" + output_dir.mkdir(parents=True, exist_ok=True) + return output_dir