Coverage for /Users/davegaeddert/Development/dropseed/plain/plain-flags/plain/flags/bridge.py: 31%
16 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-10-16 22:03 -0500
« prev ^ index » next coverage.py v7.6.1, created at 2024-10-16 22:03 -0500
1from plain.runtime import settings
3from . import exceptions
4from .flags import Flag
7def get_flags_module():
8 flags_module = settings.FLAGS_MODULE
10 try:
11 return __import__(flags_module)
12 except ImportError as e:
13 raise exceptions.FlagImportError(
14 f"Could not import {flags_module} module"
15 ) from e
18def get_flag_class(flag_name: str) -> Flag:
19 flags_module = get_flags_module()
21 try:
22 flag_class = getattr(flags_module, flag_name)
23 except AttributeError as e:
24 raise exceptions.FlagImportError(
25 f"Could not find {flag_name} in {flags_module} module"
26 ) from e
28 return flag_class