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