Source code for E200.E200_load_data_gui

from .E200_load_data import E200_load_data
from .get_remoteprefix import get_remoteprefix
import glob
import os as _os
on_rtd = _os.environ.get('READTHEDOCS', None) == 'True'
if not on_rtd:
    import PyQt4.QtGui as QtGui
    import scisalt.qt as _qt
import re
import logging
logger = logging.getLogger(__name__)


[docs]def E200_load_data_gui(experiment=None, verbose=False): """ Allows user to select a dataset file to load via a GUI file picker. If *experiment* (type :code:`str`) is specified, the GUI defaults to the last saved dataset from *experiment*. Typical options are: * :code:`'E200'` * :code:`'E217'` Returns an instance of :class:`E200.Data`. *Note: this function calls Matlab code; it is not surprising to see Matlab open in the terminal.* """ if experiment is not None: recent = 'nas/nas-li20-pm00/{}'.format(experiment) else: recent = 'nas/nas-li20-pm00/E*' # ====================================== # Get most recent folder # ====================================== pref = get_remoteprefix() temppath = _os.path.join(pref, recent) temppath = max(glob.glob(_os.path.join(temppath, '*')), key=_os.path.getmtime) temppath = max(glob.glob(_os.path.join(temppath, '*')), key=_os.path.getmtime) temppath = max(glob.glob(_os.path.join(temppath, '*')), key=_os.path.getmtime) # ====================================== # User selects file # ====================================== app = _qt.get_app() # NOQA loadfile = QtGui.QFileDialog.getOpenFileName(directory=temppath, filter='*.mat') if loadfile == '': logger.critical('No file chosen') raise IOError('No file chosen') loadfile = loadfile[1:] p = re.compile('nas/nas.*') loadmatch = p.search(loadfile) loadfile = loadmatch.group() # loadfile = 'nas/nas-li20-pm00/E217/2015/20150504/E217_16808/E217_16808.mat' logstring = 'File to load is: {}'.format(loadfile) if verbose: print('In order to load file:\ndata = E200.E200_load_data(\'{}\')'.format(loadfile)) logger.info(logstring) return E200_load_data(loadfile)