labpack/records/settings.py
def load_settings(file_path, module_name='', secret_key=''):

    ''' a method to load data from json valid files

    :param file_path: string with path to settings file
    :param module_name: [optional] string with name of module containing file path
    :param secret_key: [optional] string with key to decrypt drep file
    :return: dictionary with settings data
    '''

# validate inputs
    title = 'load_settings'
    try:
        _path_arg = '%s(file_path=%s)' % (title, str(file_path))
    except:
        raise ValueError('%s(file_path=...) must be a string.' % title)

# find relative path from module
    from os import path
    if module_name:
        try:
            _path_arg = _path_arg.replace(')', ', module_name=%s)' % str(module_name))
        except:
            raise ValueError('%s(module_name=...) must be a string.' % title)
        from importlib.util import find_spec
        module_path = find_spec(module_name).submodule_search_locations[0]
        file_path = path.join(module_path, file_path)

# validate existence of file
    if not path.exists(file_path):
        raise ValueError('%s is not a valid file path.' % _path_arg)

# parse extension type
    ext_map = {}
    file_extensions = {
        "json": ".+\\.json$",
        "json.gz": ".+\\.json\\.gz$",
        "yaml": ".+\\.ya?ml$",
        "yaml.gz": ".+\\.ya?ml\\.gz$",
        "drep": ".+\\.drep$"
    }
    import re
    for key, value in file_extensions.items():
        file_pattern = re.compile(value)
        if file_pattern.findall(file_path):
            ext_map[key] = True
        else:
            ext_map[key] = False

# retrieve file details
    if ext_map['json']:
        import json
        try:
            file_data = open(file_path, 'rt')
            file_details = json.loads(file_data.read())
        except:
            raise ValueError('%s is not valid json data.' % _path_arg)
    elif ext_map['yaml']:
        import yaml
        try:
            file_data = open(file_path, 'rt')
            file_details = yaml.full_load(file_data.read())
        except:
            raise ValueError('%s is not valid yaml data.' % _path_arg)
    elif ext_map['json.gz']:
        import gzip
        import json
        try:
            file_data = gzip.open(file_path, 'rb')
        except:
            raise ValueError('%s is not valid gzip compressed data.' % _path_arg)
        try:
            file_details = json.loads(file_data.read().decode())
        except:
            raise ValueError('%s is not valid json data.' % _path_arg)
    elif ext_map['yaml.gz']:
        import gzip
        import yaml
        try:
            file_data = gzip.open(file_path, 'rb')
        except:
            raise ValueError('%s is not valid gzip compressed data.' % _path_arg)
        try:
            file_details = yaml.full_load(file_data.read().decode())
        except:
            raise ValueError('%s is not valid yaml data.' % _path_arg)
    elif ext_map['drep']:
        from labpack.compilers import drep
        try:
            file_data = open(file_path, 'rb').read()
            file_details = drep.load(encrypted_data=file_data, secret_key=secret_key)
        except:
            raise ValueError('%s is not valid drep data.' % _path_arg)
    else:
        raise ValueError('%s must be one of %s file types.' % (_path_arg, list(ext_map.keys())))

    return file_details
 a method to load data from json valid files

    :param file_path: string with path to settings file
    :param module_name: [optional] string with name of module containing file path
    :param secret_key: [optional] string with key to decrypt drep file
    :return: dictionary with settings data
    
a method to load data from json valid files
a method to load data from json valid files
def load_settings(file_path, module_name='', secret_key=''):
    title = 'load_settings'
    try:
        _path_arg = '%s(file_path=%s)' % (title, str(file_path))
    except:
        raise ValueError('%s(file_path=...) must be a string.' % title)
    from os import path
    if module_name:
        try:
            _path_arg = _path_arg.replace(')', ', module_name=%s)' % str(module_name))
        except:
            raise ValueError('%s(module_name=...) must be a string.' % title)
        from importlib.util import find_spec
        module_path = find_spec(module_name).submodule_search_locations[0]
        file_path = path.join(module_path, file_path)
    if not path.exists(file_path):
        raise ValueError('%s is not a valid file path.' % _path_arg)
    ext_map = {}
    file_extensions = {
        "json": ".+\\.json$",
        "json.gz": ".+\\.json\\.gz$",
        "yaml": ".+\\.ya?ml$",
        "yaml.gz": ".+\\.ya?ml\\.gz$",
        "drep": ".+\\.drep$"
    }
    import re
    for key, value in file_extensions.items():
        file_pattern = re.compile(value)
        if file_pattern.findall(file_path):
            ext_map[key] = True
        else:
            ext_map[key] = False
    if ext_map['json']:
        import json
        try:
            file_data = open(file_path, 'rt')
            file_details = json.loads(file_data.read())
        except:
            raise ValueError('%s is not valid json data.' % _path_arg)
    elif ext_map['yaml']:
        import yaml
        try:
            file_data = open(file_path, 'rt')
            file_details = yaml.full_load(file_data.read())
        except:
            raise ValueError('%s is not valid yaml data.' % _path_arg)
    elif ext_map['json.gz']:
        import gzip
        import json
        try:
            file_data = gzip.open(file_path, 'rb')
        except:
            raise ValueError('%s is not valid gzip compressed data.' % _path_arg)
        try:
            file_details = json.loads(file_data.read().decode())
        except:
            raise ValueError('%s is not valid json data.' % _path_arg)
    elif ext_map['yaml.gz']:
        import gzip
        import yaml
        try:
            file_data = gzip.open(file_path, 'rb')
        except:
            raise ValueError('%s is not valid gzip compressed data.' % _path_arg)
        try:
            file_details = yaml.full_load(file_data.read().decode())
        except:
            raise ValueError('%s is not valid yaml data.' % _path_arg)
    elif ext_map['drep']:
        from labpack.compilers import drep
        try:
            file_data = open(file_path, 'rb').read()
            file_details = drep.load(encrypted_data=file_data, secret_key=secret_key)
        except:
            raise ValueError('%s is not valid drep data.' % _path_arg)
    else:
        raise ValueError('%s must be one of %s file types.' % (_path_arg, list(ext_map.keys())))
    return file_details
def load_settings ( file_path , module_name = '' , secret_key = '' ) : title = 'load_settings' try : _path_arg = '%s(file_path=%s)' % ( title , str ( file_path ) ) except : raise ValueError ( '%s(file_path=...) must be a string.' % title ) from os import path if module_name : try : _path_arg = _path_arg . replace ( ')' , ', module_name=%s)' % str ( module_name ) ) except : raise ValueError ( '%s(module_name=...) must be a string.' % title ) from importlib . util import find_spec module_path = find_spec ( module_name ) . submodule_search_locations [ 0 ] file_path = path . join ( module_path , file_path ) if not path . exists ( file_path ) : raise ValueError ( '%s is not a valid file path.' % _path_arg ) ext_map = { } file_extensions = { "json" : ".+\\.json$" , "json.gz" : ".+\\.json\\.gz$" , "yaml" : ".+\\.ya?ml$" , "yaml.gz" : ".+\\.ya?ml\\.gz$" , "drep" : ".+\\.drep$" } import re for key , value in file_extensions . items ( ) : file_pattern = re . compile ( value ) if file_pattern . findall ( file_path ) : ext_map [ key ] = True else : ext_map [ key ] = False if ext_map [ 'json' ] : import json try : file_data = open ( file_path , 'rt' ) file_details = json . loads ( file_data . read ( ) ) except : raise ValueError ( '%s is not valid json data.' % _path_arg ) elif ext_map [ 'yaml' ] : import yaml try : file_data = open ( file_path , 'rt' ) file_details = yaml . full_load ( file_data . read ( ) ) except : raise ValueError ( '%s is not valid yaml data.' % _path_arg ) elif ext_map [ 'json.gz' ] : import gzip import json try : file_data = gzip . open ( file_path , 'rb' ) except : raise ValueError ( '%s is not valid gzip compressed data.' % _path_arg ) try : file_details = json . loads ( file_data . read ( ) . decode ( ) ) except : raise ValueError ( '%s is not valid json data.' % _path_arg ) elif ext_map [ 'yaml.gz' ] : import gzip import yaml try : file_data = gzip . open ( file_path , 'rb' ) except : raise ValueError ( '%s is not valid gzip compressed data.' % _path_arg ) try : file_details = yaml . full_load ( file_data . read ( ) . decode ( ) ) except : raise ValueError ( '%s is not valid yaml data.' % _path_arg ) elif ext_map [ 'drep' ] : from labpack . compilers import drep try : file_data = open ( file_path , 'rb' ) . read ( ) file_details = drep . load ( encrypted_data = file_data , secret_key = secret_key ) except : raise ValueError ( '%s is not valid drep data.' % _path_arg ) else : raise ValueError ( '%s must be one of %s file types.' % ( _path_arg , list ( ext_map . keys ( ) ) ) ) return file_details
a method to load data from json valid files
a method to load data from json valid files
''' a method to load data from json valid files

    :param file_path: string with path to settings file
    :param module_name: [optional] string with name of module containing file path
    :param secret_key: [optional] string with key to decrypt drep file
    :return: dictionary with settings data
    ''' # validate inputs
 # find relative path from module
 # validate existence of file
 # parse extension type
 # retrieve file details

dictionary with settings data
dictionary with settings data
file_path
string with path to settings file
string with path to settings file
module_name
[optional] string with name of module containing file path
[ optional ] string with name of module containing file path
secret_key
[optional] string with key to decrypt drep file
[ optional ] string with key to decrypt drep file