Source code for karrot.reporters.factory

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from karrot.reporters.prometheus.models import PrometheusReporter
from karrot.reporters.cloudwatch.models import CloudwatchReporter
from karrot.reporters.stdout.models import StdoutReporter


[docs]class ReporterFactory(object): """ ReporterFactory used to create a Reporter object based on it's name. """
[docs] @staticmethod def get(reporter): """ Return the proper notifier object based on the name. :params str reporter: The type of reporter to create :returns: Reporter -- A reporter matching ``reporter`` :raises: ValueError -- When the requested reporter is not found. """ if reporter == "prometheus": return PrometheusReporter("prometheus") elif reporter == "cloudwatch": return CloudwatchReporter("cloudwatch") elif reporter == "stdout": return StdoutReporter("stdout") else: raise ValueError(reporter)