# Licensed under a 3-clause BSD style license - see LICENSE.rst
# Packages may add whatever they like to this file, but
# should keep this content at the top.
# ----------------------------------------------------------------------------
from ._astropy_init import *
# ----------------------------------------------------------------------------
# Enforce Python version check during package import.
# This is the same check as the one at the top of setup.py
import os
import sys
import logging
__minimum_python_version__ = "3.5"
[docs]class UnsupportedPythonError(Exception):
pass
if sys.version_info < tuple((int(val) for val in __minimum_python_version__.split('.'))):
raise UnsupportedPythonError("specviz does not support Python < {}".format(__minimum_python_version__))
if not _ASTROPY_SETUP_:
import pyqtgraph as pg
from configparser import ConfigParser
# Setup logging level and display
logging.basicConfig(format='specviz [%(levelname)-8s]: %(message)s',
level=logging.INFO)
[docs] def load_settings():
# Get the path relative to the user's home directory
path = os.path.expanduser("~/.specviz")
# If the directory doesn't exist, create it
if not os.path.exists(path):
os.mkdir(path)
# Parse user settings
parser = ConfigParser()
parser['PyQtGraph'] = {}
# Check if there already exists a pyqtgraph settings file
user_settings_path = os.path.join(path, "user_settings.ini")
if os.path.exists(user_settings_path):
parser.read(user_settings_path)
pyqtgraph_settings = {
'leftButtonPan': parser['PyQtGraph'].getboolean('leftbuttonpan', True),
'foreground': parser['PyQtGraph'].get('foreground', 'k'),
'background': parser['PyQtGraph'].get('background', 'w'),
'antialias': parser['PyQtGraph'].getboolean('antialias', False),
'imageAxisOrder': parser['PyQtGraph'].get('imageaxisorder', 'col-major'),
'useWeave': parser['PyQtGraph'].getboolean('useweave', False),
'weaveDebug': parser['PyQtGraph'].getboolean('weavedebug', False),
'useOpenGL': parser['PyQtGraph'].getboolean('useopengl', False),
}
if not os.path.exists(user_settings_path):
parser['PyQtGraph'] = pyqtgraph_settings
with open(user_settings_path, 'w') as config_file:
parser.write(config_file)
# Set the pyqtgraph options
pg.setConfigOptions(**pyqtgraph_settings)
load_settings()