Add a config object

- add the following file:
  + src/urban_meal_delivery/_config.py
- a config module is created holding two sets of configurations:
  + production => against the real database
  + testing => against a database with test data
- the module is "protected" (i.e., underscore) and imported at the
  top level via a proxy-like object `config` that detects in which of
  the two environments the package is being run
This commit is contained in:
Alexander Hess 2020-08-08 14:43:02 +02:00
commit 9456f86d65
Signed by: alexander
GPG key ID: 344EA5AB10D868E0
7 changed files with 170 additions and 3 deletions

View file

@ -6,8 +6,11 @@ Example:
True
"""
import os as _os
from importlib import metadata as _metadata
from urban_meal_delivery import _config # noqa:WPS450
try:
_pkg_info = _metadata.metadata(__name__)
@ -21,3 +24,7 @@ else:
__author__ = _pkg_info['author']
__pkg_name__ = _pkg_info['name']
__version__ = _pkg_info['version']
# Little Hack: "Overwrites" the config module so that the environment is already set.
config = _config.get_config('testing' if _os.getenv('TESTING') else 'production')