#
# This loads the configuration
#
import sys
import os

if sys.version_info >= (3, 0):
    import configparser
else:
    import ConfigParser as configparser

config = configparser.ConfigParser()

# 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__), "machine.cfg"))

# This specifies configurations specific to the user (it is found in the user home directory)
home = os.getenv("HOME") or os.getenv("USERPROFILE")
user_file = os.path.join(home, ".ods_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
        + "."
    )
