mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-06-05 14:55:15 +02:00
* fix: dev: add or in home directory getting adds another or when getting the home directory with os.getenv() so that if neither $HOME nor $USERPROFILE environment variable is set, os.path.join() will not fail by getting a None and the config will revert to the default configuration file. * fix: remove extra statement
32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
#
|
|
# This loads the configuration
|
|
#
|
|
import os
|
|
try:
|
|
#Attempt Python 2 ConfigParser setup
|
|
import ConfigParser
|
|
config = ConfigParser.ConfigParser()
|
|
from ConfigParser import NoOptionError
|
|
except ImportError:
|
|
#Attempt Python 3 ConfigParser setup
|
|
import configparser
|
|
config = configparser.ConfigParser()
|
|
from configparser import NoOptionError
|
|
|
|
# This is the default configuration file that always needs to be present.
|
|
default_file = os.path.abspath(os.path.join(os.path.dirname( __file__ ), '..', 'defaults.cfg'))
|
|
|
|
# These files are optional
|
|
# This specifies configurations that are typically specific to the machine (it is found alongside the GPy installation).
|
|
local_file = os.path.abspath(os.path.join(os.path.dirname( __file__ ), '..', 'installation.cfg'))
|
|
|
|
# This specifies configurations specific to the user (it is found in the user home directory)
|
|
home = os.getenv('HOME') or os.getenv('USERPROFILE') or ''
|
|
user_file = os.path.join(home,'.config','GPy', 'user.cfg')
|
|
|
|
# Read in the given files.
|
|
config.readfp(open(default_file))
|
|
config.read([local_file, user_file])
|
|
|
|
if not config:
|
|
raise ValueError("No configuration file found at either " + user_file + " or " + local_file + " or " + default_file + ".")
|