File size: 750 Bytes
bd44418
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"""Registry for building the post-processing orchestrator."""
from config import settings
from .base import PostProcessingOrchestrator
from .processors.carbon_impact import CarbonImpactProcessor
from .processors.pricing import PricingProcessor
from .processors.equivalences import EquivalencesProcessor


ALL = {
    "carbon_impact": CarbonImpactProcessor(),
    "pricing": PricingProcessor(),
    "equivalences": EquivalencesProcessor(),
}


def build_orchestrator() -> PostProcessingOrchestrator:
    enabled = getattr(settings, "postprocessors_enabled", [
        "carbon_impact",
        "pricing",
        "equivalences",
    ])
    processors = [ALL[name] for name in enabled if name in ALL]
    return PostProcessingOrchestrator(processors)