1from plain.runtime import settings
2
3from . import exceptions
4from .flags import Flag
5
6
7def get_flags_module():
8 flags_module = settings.FLAGS_MODULE
9
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
16
17
18def get_flag_class(flag_name: str) -> Flag:
19 flags_module = get_flags_module()
20
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
27
28 return flag_class