diff --git a/lib/envvars.py b/lib/envvars.py new file mode 100644 index 0000000..aeb2712 --- /dev/null +++ b/lib/envvars.py @@ -0,0 +1,9 @@ +from collections import namedtuple +from os import environ + + +def generate_namedtuple_from_prefixed_envvars(prefix: str, tuple_name: str): + envvars = {envvar.replace(prefix, '', 1): environ.get(envvar) + for envvar in environ.keys() + if envvar.startswith(prefix)} + return namedtuple(tuple_name, envvars)(**envvars) diff --git a/lib/tao/__init__.py b/lib/tao/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lib/tao/config/__init__.py b/lib/tao/config/__init__.py new file mode 100644 index 0000000..d3319d7 --- /dev/null +++ b/lib/tao/config/__init__.py @@ -0,0 +1 @@ +from .envvars import * diff --git a/lib/tao/config/envvars.py b/lib/tao/config/envvars.py new file mode 100644 index 0000000..6262ead --- /dev/null +++ b/lib/tao/config/envvars.py @@ -0,0 +1,3 @@ +from envvars import generate_namedtuple_from_prefixed_envvars + +taoenv = generate_namedtuple_from_prefixed_envvars('AVATAO_', 'taoenvtuple') diff --git a/lib/tfw/config/envvars.py b/lib/tfw/config/envvars.py index a8dd2bb..d94be2b 100644 --- a/lib/tfw/config/envvars.py +++ b/lib/tfw/config/envvars.py @@ -1,10 +1,3 @@ -from os import environ, getenv -from collections import namedtuple +from envvars import generate_namedtuple_from_prefixed_envvars -TFW_PREFIX = 'TFW_' -tfwenvvars = {envvar.replace(TFW_PREFIX, '', 1): environ.get(envvar) - for envvar in environ.keys() - if envvar.startswith(TFW_PREFIX)} -tfwenv = namedtuple('tfwenvtuple', tfwenvvars)(**tfwenvvars) - -AVATAO_SECRET = getenv('AVATAO_SECRET', 'secret') +tfwenv = generate_namedtuple_from_prefixed_envvars('TFW_', 'tfwenvtuple') diff --git a/src/controller/app.py b/src/controller/app.py index 73b321c..c304231 100644 --- a/src/controller/app.py +++ b/src/controller/app.py @@ -1,7 +1,8 @@ from tornado.ioloop import IOLoop from tornado.web import Application -from tfw.config import tfwenv, AVATAO_SECRET +from tao.config import taoenv +from tfw.config import tfwenv from handlers import SolutionCheckHandler, TestHandler from tfw.networking.solvable_connector import SolvableConnector @@ -11,8 +12,8 @@ log = logging.getLogger(__name__) if __name__ == '__main__': solvable_connector = SolvableConnector() routes = [ - (r'/{secret}/?'.format(secret=AVATAO_SECRET), SolutionCheckHandler, {'solvable_connector': solvable_connector}), - (r'/{secret}/test/?'.format(secret=AVATAO_SECRET), TestHandler, {'solvable_connector': solvable_connector}) + (r'/{secret}/?'.format(secret=taoenv.SECRET), SolutionCheckHandler, {'solvable_connector': solvable_connector}), + (r'/{secret}/test/?'.format(secret=taoenv.SECRET), TestHandler, {'solvable_connector': solvable_connector}) ] app = Application( routes