#! /usr/bin/python

import os
import json
import logging

from mylogger import getmLogger

#  logger = getmLogger(os.environ["SCRIPT_LOG_LEVEL"], "setEnvByChipsetJson")
logger = getmLogger("debug", "setEnvByChipsetJson")

_debug = 0
environ = {}

def _setEnv(key, value):
    if not environ.has_key(key):
        logger.debug(key + " = " + value)
        environ[key] = value


def dumpEnv():
    for key in environ:
        print key + " : " + environ[key]

def _setupEnv(prefix, vdict):

    for key in vdict:
        __key = key

        if(prefix != None):
            __key = prefix +"_" +  key

        if isinstance(vdict[key], dict):
            _setupEnv(__key, vdict[key])
        else:
            _setEnv(__key, str(vdict[key]))
            pass


def autoImportEnv(jsonFilename, skipItem=None):

    logger.debug("jsonFilename: " + jsonFilename)

    dictEnv = {}
    with open(jsonFilename, 'rt') as handle:
        dictEnv = json.loads(handle.read())

    if skipItem != None:
        logger.debug("skip item: " + jsonFilename)
        dictEnv = dictEnv[skipItem]

    _setupEnv(None, dictEnv)

    return environ

if __name__ == "__main__":

    autoImportEnv()

    pass
