Minor changes:
- flowchart emits state change signal when chart is loaded - metaarray workaround for lack of h5py debugging symbols
This commit is contained in:
parent
45312120b1
commit
03d618e1b8
@ -236,6 +236,7 @@ class ConsoleWidget(QtGui.QWidget):
|
|||||||
if catch:
|
if catch:
|
||||||
self.ui.catchNextExceptionBtn.setChecked(False)
|
self.ui.catchNextExceptionBtn.setChecked(False)
|
||||||
exceptionHandling.register(self.allExceptionsHandler)
|
exceptionHandling.register(self.allExceptionsHandler)
|
||||||
|
self.ui.exceptionBtn.setChecked(True)
|
||||||
else:
|
else:
|
||||||
exceptionHandling.unregister(self.allExceptionsHandler)
|
exceptionHandling.unregister(self.allExceptionsHandler)
|
||||||
|
|
||||||
@ -248,6 +249,7 @@ class ConsoleWidget(QtGui.QWidget):
|
|||||||
if catch:
|
if catch:
|
||||||
self.ui.catchAllExceptionsBtn.setChecked(False)
|
self.ui.catchAllExceptionsBtn.setChecked(False)
|
||||||
exceptionHandling.register(self.nextExceptionHandler)
|
exceptionHandling.register(self.nextExceptionHandler)
|
||||||
|
self.ui.exceptionBtn.setChecked(True)
|
||||||
else:
|
else:
|
||||||
exceptionHandling.unregister(self.nextExceptionHandler)
|
exceptionHandling.unregister(self.nextExceptionHandler)
|
||||||
|
|
||||||
|
@ -515,6 +515,7 @@ class Flowchart(Node):
|
|||||||
|
|
||||||
self.sigChartLoaded.emit()
|
self.sigChartLoaded.emit()
|
||||||
self.outputChanged()
|
self.outputChanged()
|
||||||
|
self.sigStateChanged.emit()
|
||||||
#self.sigOutputChanged.emit()
|
#self.sigOutputChanged.emit()
|
||||||
|
|
||||||
def loadFile(self, fileName=None, startDir=None):
|
def loadFile(self, fileName=None, startDir=None):
|
||||||
|
@ -855,12 +855,18 @@ class MetaArray(object):
|
|||||||
if 'close' in kargs and readAllData is None: ## for backward compatibility
|
if 'close' in kargs and readAllData is None: ## for backward compatibility
|
||||||
readAllData = kargs['close']
|
readAllData = kargs['close']
|
||||||
|
|
||||||
if not HAVE_HDF5:
|
|
||||||
raise Exception("The file '%s' is HDF5-formatted, but the HDF5 library (h5py) was not found." % fileName)
|
|
||||||
|
|
||||||
if readAllData is True and writable is True:
|
if readAllData is True and writable is True:
|
||||||
raise Exception("Incompatible arguments: readAllData=True and writable=True")
|
raise Exception("Incompatible arguments: readAllData=True and writable=True")
|
||||||
|
|
||||||
|
if not HAVE_HDF5:
|
||||||
|
try:
|
||||||
|
assert writable==False
|
||||||
|
assert readAllData != False
|
||||||
|
self._readHDF5Remote(fileName)
|
||||||
|
return
|
||||||
|
except:
|
||||||
|
raise Exception("The file '%s' is HDF5-formatted, but the HDF5 library (h5py) was not found." % fileName)
|
||||||
|
|
||||||
## by default, readAllData=True for files < 500MB
|
## by default, readAllData=True for files < 500MB
|
||||||
if readAllData is None:
|
if readAllData is None:
|
||||||
size = os.stat(fileName).st_size
|
size = os.stat(fileName).st_size
|
||||||
@ -885,6 +891,29 @@ class MetaArray(object):
|
|||||||
self._data = f['data'][:]
|
self._data = f['data'][:]
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
def _readHDF5Remote(self, fileName):
|
||||||
|
## Used to read HDF5 files via remote process.
|
||||||
|
## This is needed in the case that HDF5 is not importable due to the use of python-dbg.
|
||||||
|
proc = getattr(MetaArray, '_hdf5Process', None)
|
||||||
|
|
||||||
|
if proc == False:
|
||||||
|
raise Exception('remote read failed')
|
||||||
|
if proc == None:
|
||||||
|
import pyqtgraph.multiprocess as mp
|
||||||
|
#print "new process"
|
||||||
|
proc = mp.Process(executable='/usr/bin/python')
|
||||||
|
proc.setProxyOptions(deferGetattr=True)
|
||||||
|
MetaArray._hdf5Process = proc
|
||||||
|
MetaArray._h5py_metaarray = proc._import('pyqtgraph.metaarray')
|
||||||
|
ma = MetaArray._h5py_metaarray.MetaArray(file=fileName)
|
||||||
|
self._data = ma.asarray()._getValue()
|
||||||
|
self._info = ma._info._getValue()
|
||||||
|
#print MetaArray._hdf5Process
|
||||||
|
#import inspect
|
||||||
|
#print MetaArray, id(MetaArray), inspect.getmodule(MetaArray)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def mapHDF5Array(data, writable=False):
|
def mapHDF5Array(data, writable=False):
|
||||||
off = data.id.get_offset()
|
off = data.id.get_offset()
|
||||||
|
Loading…
Reference in New Issue
Block a user