Source code for superconfig.parsers.env_parser
import os
from superconfig.parsers import BaseParser
[docs]class EnvParser(BaseParser):
def __init__(self, env_prefix: str = ""):
self.env_prefix = env_prefix
[docs] def read(self, path: str):
pass
[docs] def validate_key(self, key: str):
return True
def _get_canonical_key(self, key: str):
tokens = [self.env_prefix] if self.env_prefix else []
tokens += key.split(".")
return "_".join(tokens)
[docs] def get(self, key: str):
if self.validate_key(key):
canonical_key = self._get_canonical_key(key)
return os.getenv(canonical_key)