Esempio n. 1
0
        class ComponentB(RequiredConfigMixin):
            required_config = ConfigOptions()
            required_config.add_option('foo', parser=int, default='2')
            required_config.add_option('bar', parser=int, default='1')

            def __init__(self, config):
                self.config = config.with_options(self)
Esempio n. 2
0
 class Foo(RequiredConfigMixin):
     required_config = ConfigOptions()
     required_config.add_option(
         'option1',
         default='opt1default',
         parser=str
     )
Esempio n. 3
0
class DBReader(RequiredConfigMixin):
    required_config = ConfigOptions()
    required_config.add_option('username', alternate_keys=['root:db_username'])
    required_config.add_option('password', alternate_keys=['root:db_password'])

    def __init__(self, config):
        self.config = config.with_options(self)
Esempio n. 4
0
class BotConfig(RequiredConfigMixin):
    required_config = ConfigOptions()
    required_config.add_option('flask_loglevel',
                               parser=str,
                               default='info',
                               doc='Set the log level for Flask.')
    required_config.add_option(
        'flask_password',
        parser=str,
        doc='Password for HTTP authentication in Flask.')
    required_config.add_option(
        'flask_username',
        parser=str,
        doc='Username for HTTP authentication in Flask.')
    required_config.add_option('github_owner',
                               parser=str,
                               default='longhorn',
                               doc='Set the owner of the target GitHub '
                               'repository.')
    required_config.add_option('github_repository',
                               parser=str,
                               default='longhorn',
                               doc='Set the name of the target '
                               'GitHub repository.')
    required_config.add_option('github_token',
                               parser=str,
                               doc='Set the token of the GitHub machine user.')
    required_config.add_option('zenhub_pipeline',
                               parser=str,
                               default='Review',
                               doc='Set the target ZenHub pipeline to '
                               'handle events for.')
Esempio n. 5
0
        class ComponentB(RequiredConfigMixin):
            required_config = ConfigOptions()
            required_config.add_option("foo", parser=int, default="2")
            required_config.add_option("bar", parser=int, default="1")

            def __init__(self, config):
                self.config = config.with_options(self)
Esempio n. 6
0
 class Bar(RequiredConfigMixin):
     required_config = ConfigOptions()
     required_config.add_option(
         'option2',
         default='opt2default',
         parser=str
     )
Esempio n. 7
0
class DogStatsdMetrics(RequiredConfigMixin):
    """Configuration for DatadogMetrics backend."""

    required_config = ConfigOptions()
    required_config.add_option("statsd_host",
                               default="localhost",
                               doc="Hostname for the statsd server")
    required_config.add_option("statsd_port",
                               default="8125",
                               doc="Port for the statsd server",
                               parser=int)
    required_config.add_option("statsd_namespace",
                               default="",
                               doc="Namespace for these metrics")

    def __init__(self, config):
        self.config = config.with_options(self)

    def to_markus(self):
        """Convert to Markus configuration."""
        return {
            "class": "markus.backends.datadog.DatadogMetrics",
            "options": {
                "statsd_host": self.config("statsd_host"),
                "statsd_port": self.config("statsd_port"),
                "statsd_namespace": self.config("statsd_namespace"),
            },
        }
Esempio n. 8
0
class FSWriter(RequiredConfigMixin):
    required_config = ConfigOptions()
    required_config.add_option("file_type", default="json")

    def __init__(self, config, basedir):
        self.config = config.with_options(self)
        self.write_dir = os.path.join(basedir, "write")
class DogStatsdMetrics(RequiredConfigMixin):
    """Configuration for DatadogMetrics backend."""

    required_config = ConfigOptions()
    required_config.add_option(
        'statsd_host',
        default='localhost',
        doc='Hostname for the statsd server'
    )
    required_config.add_option(
        'statsd_port',
        default='8125',
        doc='Port for the statsd server',
        parser=int
    )
    required_config.add_option(
        'statsd_namespace',
        default='',
        doc='Namespace for these metrics'
    )

    def __init__(self, config):
        self.config = config.with_options(self)

    def to_markus(self):
        """Convert to Markus configuration."""
        return {
            'class': 'markus.backends.datadog.DatadogMetrics',
            'options': {
                'statsd_host': self.config('statsd_host'),
                'statsd_port': self.config('statsd_port'),
                'statsd_namespace': self.config('statsd_namespace'),
            }
        }
Esempio n. 10
0
class DBWriter(RequiredConfigMixin):
    required_config = ConfigOptions()
    required_config.add_option("username", alternate_keys=["root:db_username"])
    required_config.add_option("password", alternate_keys=["root:db_password"])

    def __init__(self, config):
        self.config = config.with_options(self)
Esempio n. 11
0
class ComponentOptionParser(RequiredConfigMixin):
    required_config = ConfigOptions()
    required_config.add_option('user_builtin', parser=int)
    required_config.add_option('user_parse_class', parser=parse_class)
    required_config.add_option('user_listof', parser=ListOf(str))
    required_config.add_option('user_class_method', parser=Foo.parse_foo_class)
    required_config.add_option('user_instance_method',
                               parser=Foo().parse_foo_instance)
Esempio n. 12
0
    class SomeComponent(RequiredConfigMixin):
        required_config = ConfigOptions()
        required_config.add_option(
            'bad_key',
            alternate_keys=['root:common']
        )

        def __init__(self, config):
            self.config = config.with_options(self)
Esempio n. 13
0
    class SomeComponent(RequiredConfigMixin):
        required_config = ConfigOptions()
        required_config.add_option(
            'foo_bar',
            parser=int
        )

        def __init__(self, config):
            self.config = config.with_options(self)
Esempio n. 14
0
    class SomeComponent(RequiredConfigMixin):
        required_config = ConfigOptions()
        required_config.add_option(
            'foo',
            default='abc'
        )

        def __init__(self, config):
            self.config = config.with_options(self)
Esempio n. 15
0
    class SomeComponent(RequiredConfigMixin):
        required_config = ConfigOptions()
        required_config.add_option('baz',
                                   default='',
                                   doc='some help here',
                                   parser=str)

        def __init__(self, config):
            self.config = config.with_options(self)
Esempio n. 16
0
    class SomeComponent(RequiredConfigMixin):
        required_config = ConfigOptions()
        required_config.add_option('foo', parser=int)

        def __init__(self, config):
            self.config = config.with_options(self)

        def my_namespace_is(self):
            return self.config.get_namespace()
Esempio n. 17
0
class LoggingMetrics(RequiredConfigMixin):
    """Configuration for LoggingMetrics backend."""
    required_config = ConfigOptions()

    def __init__(self, config):
        self.config = config

    def to_markus(self):
        return {'class': 'markus.backends.logging.LoggingMetrics'}
Esempio n. 18
0
class FSReader(RequiredConfigMixin):
    required_config = ConfigOptions()
    required_config.add_option(
        'file_type',
        default='json'
    )

    def __init__(self, config, basedir):
        self.config = config.with_options(self)
        self.read_dir = os.path.join(basedir, 'read')
Esempio n. 19
0
class ComponentWithDocstring(RequiredConfigMixin):
    """This component is the best.

    The best!

    """
    required_config = ConfigOptions()
    required_config.add_option('user')

    def __init__(self, config):
        self.config = config.with_options(self)
Esempio n. 20
0
class CrashStorageBase(RequiredConfigMixin):
    """Crash storage base class."""

    required_config = ConfigOptions()

    def __init__(self, config):
        self.config = config.with_options(self)

    def publish_crash(self, crash_report):
        """Save the crash report."""
        raise NotImplementedError
Esempio n. 21
0
class ComponentDocstringOtherAttribute(RequiredConfigMixin):
    """Programming-focused help"""

    __everett_help__ = """
        User-focused help
    """

    required_config = ConfigOptions()
    required_config.add_option('user')

    def __init__(self, config):
        self.config = config.with_options(self)
Esempio n. 22
0
class App(RequiredConfigMixin):
    required_config = ConfigOptions()
    required_config.add_option("basedir")
    required_config.add_option("reader", parser=parse_class)
    required_config.add_option("writer", parser=parse_class)

    def __init__(self, config):
        self.config = config.with_options(self)

        self.basedir = self.config("basedir")
        self.reader = self.config("reader")(config, self.basedir)
        self.writer = self.config("writer")(config, self.basedir)
Esempio n. 23
0
        class ComponentA(RequiredConfigMixin):
            required_config = ConfigOptions()
            required_config.add_option("baz", default="abc")

            def __init__(self, config):
                self.config = config.with_options(self)
                self.comp = ComponentB(config.with_namespace("biff"))

            def get_runtime_config(self, namespace=None):
                yield from super().get_runtime_config(namespace)

                # We specify the namespace here
                yield from self.comp.get_runtime_config(["biff"])
Esempio n. 24
0
        class ComponentA(RequiredConfigMixin):
            required_config = ConfigOptions()
            required_config.add_option("baz", default="abc")

            def __init__(self, config):
                self.config = config.with_options(self)
                self.comp = ComponentB(config.with_namespace("boff"))

            def get_runtime_config(self, namespace=None):
                yield from super().get_runtime_config(namespace)

                # Namespace here is inferred from self.comp.config which is a
                # NamespacedConfig.
                yield from self.comp.get_runtime_config()
Esempio n. 25
0
        class ComponentA(RequiredConfigMixin):
            required_config = ConfigOptions()
            required_config.add_option('baz', default='abc')

            def __init__(self, config):
                self.config = config.with_options(self)
                self.comp = ComponentB(config.with_namespace('biff'))

            def get_runtime_config(self, namespace=None):
                for item in super(ComponentA, self).get_runtime_config(namespace):
                    yield item

                for item in self.comp.get_runtime_config(['biff']):
                    yield item
Esempio n. 26
0
class BotConfig(RequiredConfigMixin):
    required_config = ConfigOptions()
    required_config.add_option('app_id',
                               parser=str,
                               doc='The app ID of the GitHub app.')
    required_config.add_option(
        'installation_id',
        parser=str,
        doc='The installation ID to get access tokens for.')
    required_config.add_option(
        'namespace',
        parser=str,
        doc='The Kubernetes namespace this script is running in.')
    required_config.add_option('private_key',
                               parser=str,
                               doc='The private key of the GitHub app.')
Esempio n. 27
0
class AppConfig(RequiredConfigMixin):
    """Contains the defaults for the nmldiff configuration"""

    required_config = ConfigOptions()
    required_config.add_option("debug",
                               parser=bool,
                               default="false",
                               doc="Switch debug mode on and off.")

    required_config.add_option("color",
                               parser=bool,
                               default="true",
                               doc="Colorize output of the diff")

    required_config.add_option(
        "keep_mvstream",
        parser=bool,
        default="false",
        doc=
        "Consider mvstream (relevant for namelist.echam) chapters in the diff",
    )

    required_config.add_option(
        "keep_set_stream",
        parser=bool,
        default="false",
        doc=
        "Consider set_stream chapters (relevant for namelist.echam) in the diff",
    )

    required_config.add_option(
        "keep_set_stream_element",
        parser=bool,
        default="false",
        doc=
        "Consider set_stream_element chapters (relevant for namelist.echam) in the diff",
    )

    required_config.add_option(
        "cleanup_paths",
        parser=bool,
        default="true",
        doc=
        "If the specified string is a path, duplicate slashes (``//``) will be replaced with single slashes (``/``)",
    )
Esempio n. 28
0
class EsmMongoDBConfig(RequiredConfigMixin):
    """Contains the defaults for the nmldiff configuration"""

    required_config = ConfigOptions()
    required_config.add_option(
        "use_plugin",
        parser=bool,
        default="false",
        doc="Use the MongoDB Plugin",
        namespace="esm_mongodb",
    )
    required_config.add_option(
        "debug",
        parser=bool,
        default="false",
        doc="Switch debug mode on and off.",
        namespace="esm_mongodb",
    )

    required_config.add_option(
        "hostname",
        parser=str,
        default="paleosrv3.dmawi.de",
        doc="Hostname for MongoDB",
        namespace="esm_mongodb",
    )

    required_config.add_option(
        "port",
        parser=str,
        default="27017",
        doc="Port Number for MongoDB",
        namespace="esm_mongodb",
    )

    required_config.add_option(
        "collection_name",
        parser=str,
        default=getpass.getuser(),
        doc="Collection Name (table) to insert into. Defaults to your username",
        namespace="esm_mongodb",
    )
class CrashPublishBase(RequiredConfigMixin):
    """Crash publishstorage base class."""

    required_config = ConfigOptions()

    def __init__(self, config):
        self.config = config.with_options(self)

    def publish_crash(self, crash_report):
        """Publish the crash id.

        This should retry exceptions related to the specific service. Anything
        not handled by this method will bubble up and get handled by the
        breakpad resource which will put it back in the queue to try again
        later.

        :arg CrashReport crash_report: The crash report instance.

        """
        raise NotImplementedError
Esempio n. 30
0
class AppConfig(RequiredConfigMixin):
    required_config = ConfigOptions()
    required_config.add_option(
        'debug',
        parser=bool,
        default='false',
        doc='Turns on debug mode for the applciation'
    )
    required_config.add_option(
        'loglevel',
        parser=parse_loglevel,
        default='INFO',
        doc='Log level for the application'
    )

    def __init__(self, config):
        self.raw_config = config
        self.config = config.with_options(self)

    def __call__(self, *args, **kwargs):
        return self.config(*args, **kwargs)