Module superconfig.parsers
Expand source code
from abc import ABC, abstractmethod
from typing import Any
import smart_open
class BaseParser:
data: Any = None
def __init__(self, path: str, **kwargs):
raw = self.read(path, **kwargs)
self.load(raw)
def read(self, path: str, **kwargs):
with smart_open.open(path, transport_params=kwargs) as f:
return f.read()
@abstractmethod
def load(self, raw: str):
pass
@abstractmethod
def validate_key(self, key: str):
pass
@abstractmethod
def get(self, key: str):
pass
Sub-modules
superconfig.parsers.env_parser
superconfig.parsers.ini_parser
superconfig.parsers.json_parser
superconfig.parsers.yaml_parser
Classes
class BaseParser (path: str, **kwargs)
-
Expand source code
class BaseParser: data: Any = None def __init__(self, path: str, **kwargs): raw = self.read(path, **kwargs) self.load(raw) def read(self, path: str, **kwargs): with smart_open.open(path, transport_params=kwargs) as f: return f.read() @abstractmethod def load(self, raw: str): pass @abstractmethod def validate_key(self, key: str): pass @abstractmethod def get(self, key: str): pass
Subclasses
Class variables
var data : Any
Methods
def get(self, key: str)
-
Expand source code
@abstractmethod def get(self, key: str): pass
def load(self, raw: str)
-
Expand source code
@abstractmethod def load(self, raw: str): pass
def read(self, path: str, **kwargs)
-
Expand source code
def read(self, path: str, **kwargs): with smart_open.open(path, transport_params=kwargs) as f: return f.read()
def validate_key(self, key: str)
-
Expand source code
@abstractmethod def validate_key(self, key: str): pass