__init__.pyโข1.36 kB
#!/usr/bin/env python3
"""
Document Adapters Module
Adapters for different documentation platforms.
"""
from .base import BaseDocumentAdapter, DocumentContent, SearchResult
from .gitbook import GitBookAdapter
from .notion import NotionAdapter
from .confluence import ConfluenceAdapter
from .website import WebsiteAdapter
# Adapter registry
ADAPTER_REGISTRY = {
"gitbook": GitBookAdapter,
"notion": NotionAdapter,
"confluence": ConfluenceAdapter,
"website": WebsiteAdapter,
}
def get_adapter(adapter_type: str, **kwargs) -> BaseDocumentAdapter:
"""Get adapter instance by type.
Args:
adapter_type: Type of adapter (gitbook, notion, confluence, website)
**kwargs: Additional arguments to pass to adapter constructor
Returns:
Adapter instance
Raises:
ValueError: If adapter type is not supported
"""
if adapter_type not in ADAPTER_REGISTRY:
raise ValueError(f"Unsupported adapter type: {adapter_type}. Available: {list(ADAPTER_REGISTRY.keys())}")
adapter_class = ADAPTER_REGISTRY[adapter_type]
return adapter_class(**kwargs)
__all__ = [
"BaseDocumentAdapter",
"DocumentContent",
"SearchResult",
"GitBookAdapter",
"NotionAdapter",
"ConfluenceAdapter",
"WebsiteAdapter",
"get_adapter",
"ADAPTER_REGISTRY"
]