From 9d147099e1e8a95db809f5d8e12b08f732e2ce2f 2015-10-21 14:22:29 From: Miguel Valdez Date: 2015-10-21 14:22:29 Subject: [PATCH] GUI: Bug fixed when *Read from header* is selected jroproc_voltage: Exception when number of heights is lower than number of bauds --- diff --git a/schainpy/gui/viewcontroller/basicwindow.py b/schainpy/gui/viewcontroller/basicwindow.py index 17c2039..b26f434 100644 --- a/schainpy/gui/viewcontroller/basicwindow.py +++ b/schainpy/gui/viewcontroller/basicwindow.py @@ -844,6 +844,7 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if self.volOpCebDecodification.isChecked(): name_operation = 'Decoder' + opObj = puObj.addOperation(name=name_operation, optype='other') #User defined nBaud = None @@ -855,47 +856,43 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): except: code_tmp = [] - if len(code_tmp) < 1: - self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])") - return 0 + if len(code_tmp) > 0: - if type(code_tmp) not in (tuple, list): - self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])") - return 0 - - if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ] - nBaud = len(code_tmp[0]) - nCode = len(code_tmp) - elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ] - nBaud = len(code_tmp[0]) - nCode = 1 - elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1) - nBaud = len(code_tmp) - nCode = 1 - else: - self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])") - return 0 - - if not nBaud or not nCode: - self.console.append("Please write a right value for Code") - return 0 - - opObj = puObj.addOperation(name='Decoder', optype='other') + if type(code_tmp) not in (tuple, list): + self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])") + return 0 + + if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ] + nBaud = len(code_tmp[0]) + nCode = len(code_tmp) + elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ] + nBaud = len(code_tmp[0]) + nCode = 1 + elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1) + nBaud = len(code_tmp) + nCode = 1 + else: + self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])") + return 0 + + if not nBaud or not nCode: + self.console.append("Please write a right value for Code") + return 0 - code = code.replace("(", "") - code = code.replace(")", "") - code = code.replace("[", "") - code = code.replace("]", "") - - if not opObj.addParameter(name='code', value=code, format='intlist'): - self.console.append("Please write a right value for Code") - return 0 - if not opObj.addParameter(name='nCode', value=nCode, format='int'): - self.console.append("Please write a right value for Code") - return 0 - if not opObj.addParameter(name='nBaud', value=nBaud, format='int'): - self.console.append("Please write a right value for Code") - return 0 + code = code.replace("(", "") + code = code.replace(")", "") + code = code.replace("[", "") + code = code.replace("]", "") + + if not opObj.addParameter(name='code', value=code, format='intlist'): + self.console.append("Please write a right value for Code") + return 0 + if not opObj.addParameter(name='nCode', value=nCode, format='int'): + self.console.append("Please write a right value for Code") + return 0 + if not opObj.addParameter(name='nBaud', value=nBaud, format='int'): + self.console.append("Please write a right value for Code") + return 0 name_parameter = 'mode' format = 'int' @@ -4158,6 +4155,8 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if projectParms.expLabel: readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel) + readUnitConfObj.addOperation(name="printInfo") + if projectParms.datatype == "USRP": readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype, path=projectParms.dpath, @@ -4203,7 +4202,9 @@ class BasicWindow(QMainWindow, Ui_BasicWindow): if projectParms.expLabel: readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel) - + + readUnitConfObj.addOperation(name="printInfo") + if projectParms.datatype == "USRP": readUnitConfObj.update(datatype=projectParms.datatype, path=projectParms.dpath, diff --git a/schainpy/model/io/jroIO_base.py b/schainpy/model/io/jroIO_base.py index ab48162..4fe419a 100644 --- a/schainpy/model/io/jroIO_base.py +++ b/schainpy/model/io/jroIO_base.py @@ -594,7 +594,7 @@ class JRODataReader(JRODataIO): datetimeList.append(thisDatetime) if not(filenameList): - print "[Reading] Any file was found int time range %s - %s" %(startTime.ctime(), endTime.ctime()) + print "[Reading] Any file was found int time range %s - %s" %(datetime.datetime.combine(startDate,startTime).ctime(), datetime.datetime.combine(endDate,endTime).ctime()) return None, None print "[Reading] %d file(s) was(were) found in time range: %s - %s" %(len(filenameList), startTime, endTime) diff --git a/schainpy/model/proc/jroproc_voltage.py b/schainpy/model/proc/jroproc_voltage.py index fe257d4..b30b290 100644 --- a/schainpy/model/proc/jroproc_voltage.py +++ b/schainpy/model/proc/jroproc_voltage.py @@ -562,6 +562,10 @@ class Decoder(Operation): self.__nProfiles = dataOut.nProfiles self.__nHeis = dataOut.nHeights + if self.__nHeis < self.nBaud: + print 'IOError: Number of heights (%d) should be greater than number of bauds (%d)' %(self.__nHeis, self.nBaud) + raise IOError, 'Number of heights (%d) should be greater than number of bauds (%d)' %(self.__nHeis, self.nBaud) + if dataOut.flagDataAsBlock: self.ndatadec = self.__nHeis #- self.nBaud + 1