Source code for sas.qtgui.Utilities.CustomDir

# Setup and find Custom config dir
import os.path
import shutil

CONF_DIR = 'config' 
APPLICATION_NAME = 'sasview'

[docs]def _find_usersasview_dir(): """ Find and return user/.sasview dir """ return os.path.join(os.path.expanduser("~"), ("." + APPLICATION_NAME))
[docs]def _find_customconf_dir(): """ Find path of the config directory. The plugin directory is located in the user's home directory. """ u_dir = _find_usersasview_dir() return os.path.join(u_dir, CONF_DIR)
[docs]def setup_conf_dir(path): """ Setup the custom config dir and cat file """ conf_dir = _find_customconf_dir() # If the plugin directory doesn't exist, create it if not os.path.isdir(conf_dir): os.makedirs(conf_dir) config_file = os.path.join(conf_dir, "custom_config.py") # Place example user models as needed try: if not os.path.isfile(config_file): shutil.copyfile(os.path.join(path, "custom_config.py"), config_file) #Adding SAS_OPENCL if it doesn't exist in the config file # - to support backcompability if not "SAS_OPENCL" in open(config_file).read(): open(config_file,"a+").write("SAS_OPENCL = \"None\"\n") except: # Check for data path next to exe/zip file. #Look for maximum n_dir up of the current dir to find plugins dir n_dir = 12 is_dir = False f_dir = path for i in range(n_dir): if i > 1: f_dir, _ = os.path.split(f_dir) temp_path = os.path.join(f_dir, "custom_config.py") if os.path.isfile(temp_path): shutil.copyfile(temp_path, config_file) is_dir = True break if not is_dir: raise return conf_dir