Changeset b963b20 in sasview for src/sas/sasgui/__init__.py
- Timestamp:
- Sep 24, 2017 9:29:13 PM (7 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- b277220, fca1f50
- Parents:
- d3b0c77
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/__init__.py
rc6bdb3b rb963b20 1 import sys2 import os3 from os.path import exists, expanduser, dirname, realpath, join as joinpath4 5 6 def dirn(path, n):7 path = realpath(path)8 for _ in range(n):9 path = dirname(path)10 return path11 12 # Set up config directories13 def make_user_folder():14 path = joinpath(expanduser("~"),'.sasview')15 if not exists(path):16 os.mkdir(path)17 return path18 19 20 def find_app_folder():21 # We are starting out with the following info:22 # __file__ = .../sas/sasgui/__init__.pyc23 # Check if the sister path .../sas/sasview exists, and use it as the24 # app directory. This will only be the case if the app is not frozen.25 path = joinpath(dirn(__file__, 2), 'sasview')26 if exists(path):27 return path28 29 # If we are running frozen, then root is a parent directory30 if sys.platform == 'darwin':31 # Here is the path to the file on the mac:32 # .../Sasview.app/Contents/Resources/lib/python2.7/site-packages.zip/sas/sasgui/__init__.pyc33 # We want the path to the Resources directory.34 path = dirn(__file__, 6)35 elif os.name == 'nt':36 # Here is the path to the file on windows:37 # ../Sasview/library.zip/sas/sasgui/__init__.pyc38 # We want the path to the Sasview directory.39 path = dirn(__file__, 4)40 else:41 raise RuntimeError("Couldn't find the app directory")42 return path43 44 USER_FOLDER = make_user_folder()45 APP_FOLDER = find_app_folder()46 47 48 def get_app_dir():49 return APP_FOLDER50 51 def get_user_dir():52 return USER_FOLDER53 54 def get_custom_config_path():55 dirname = os.path.join(get_user_dir(), 'config')56 # If the directory doesn't exist, create it57 if not os.path.exists(dirname):58 os.makedirs(dirname)59 path = os.path.join(dirname, "custom_config.py")60 return path61 62 _config_cache = None63 def get_local_config():64 global _config_cache65 if not _config_cache:66 _config_cache = _load_config()67 return _config_cache68 69 def _load_config():70 import os71 import sys72 import logging73 from sasmodels.custom import load_module_from_path74 75 logger = logging.getLogger(__name__)76 dirname = get_app_dir()77 filename = 'local_config.py'78 path = os.path.join(dirname, filename)79 try:80 module = load_module_from_path('sas.sasgui.local_config', path)81 logger.info("GuiManager loaded %s", path)82 return module83 except Exception as exc:84 logger.critical("Error loading %s: %s", path, exc)85 sys.exit()
Note: See TracChangeset
for help on using the changeset viewer.