Returns the value of the specified configuration property.
    Property values stored in the user configuration file take
    precedence over values stored in the system configuration
    file.

    :param property_name: The name of the property to retrieve.
    :return: The value of the property.

def get(property_name):
    """
    Returns the value of the specified configuration property.
    Property values stored in the user configuration file take
    precedence over values stored in the system configuration
    file.

    :param property_name: The name of the property to retrieve.
    :return: The value of the property.
    """
    config = _read_config(_USER_CONFIG_FILE)
    section = _MAIN_SECTION_NAME
    try:
        property_value = config.get(section, property_name)
    except (NoOptionError, NoSectionError) as error:

        # Try the system config file
        try:
            config = _read_config(_SYSTEM_CONFIG_FILE)
            property_value = config.get(section, property_name)
        except (NoOptionError, NoSectionError) as error:
            raise NoConfigOptionError(error)

    return property_value