File size: 673 Bytes
5b7d0e6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import logging

import buster.formatter as F

logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)


def response_formatter_factory(format: str, **kwargs):
    logger.info(f"Using formatter: {format}")
    if format == "text":
        return F.ResponseFormatter(**kwargs)
    elif format == "slack":
        return F.SlackResponseFormatter(**kwargs)
    elif format == "HTML":
        return F.HTMLResponseFormatter(**kwargs)
    elif format == "gradio":
        return F.GradioResponseFormatter(**kwargs)
    elif format == "markdown":
        return F.MarkdownResponseFormatter(**kwargs)
    else:
        raise ValueError(f"Undefined {format=}")