Source code for wcraas_common.config
from collections import namedtuple
from environs import Env
[docs]class AMQPConfig(namedtuple("AMQPConfig", ("host", "port", "user", "password"))):
__slots__ = ()
[docs] @classmethod
def fromenv(cls):
"""
Create a `wcraas_common.AMQPConfig` from Environment Variables.
>>> conf = AMQPConfig.fromenv()
>>> type(conf)
<class 'wcraas_common.config.AMQPConfig'>
>>> conf._fields
('host', 'port', 'user', 'password')
>>> conf.host
'localhost'
>>> conf.port
5672
>>> conf.user
'guest'
>>> conf.password
'guest'
"""
env = Env()
env.read_env()
with env.prefixed("COTTONTAIL_"):
return cls(
host=env.str("HOST", "localhost"),
port=env.int("PORT", 5672),
user=env.str("USER", "guest"),
password=env.str("PASS", "guest"),
)