Source code for harpseal.conf
"""
Config parser
~~~~~~~~~~~~~
Harpseal config parser based on JSON
"""
import os
import json
from harpseal.classes import Singleton
[docs]class Config(metaclass=Singleton):
"""Config parser, working like `dict`."""
def __init__(self, path):
if not os.path.exists(path):
raise IOError("The path of the config file does not exist.")
self._conf = {}
with open(path, 'r', encoding='utf-8') as f:
self._conf = json.loads(f.read())
if not self._conf:
raise IOError("Failed to load the config file or invalid JSON format.")
def __getitem__(self, key):
result = None
if key in self._conf:
result = self._conf[key]
return result