def compute(self): """ compute() -> None Use BatchDisplayCellEvent to display a serie of SVG files """ if self.hasInputFromPort("File"): fileValue = self.getInputFromPort("File") else: fileValue = None if fileValue: batchDisplayEvent = BatchDisplayCellEvent() # FIXME: Will this work? there should be no # self.currentVersion in the module (there is a # self.version) batchDisplayEvent.vistrail = (self.vistrailName, self.currentVersion) f = open(fileValue.name, 'r') for line in f.read().split('\n'): comps = line.split('|') if len(comps)==2: e = DisplayCellEvent() e.sheetReference = StandardSingleCellSheetReference() e.sheetReference.sheetName = comps[1] e.cellType = SVGCellWidget F = File() from os.path import abspath, basename, dirname F.name = (dirname(abspath(fileValue.name))+ '/'+basename(comps[0])) e.inputPorts = (F,) batchDisplayEvent.displayEvents.append(e) f.close() spreadsheetController.postEventToSpreadsheet(batchDisplayEvent)
def compute(self): args = [] if not self.hasInputFromPort('dataset'): raise ModuleError(self, "'dataset' is mandatory.") if not self.hasInputFromPort('plot'): raise ModuleError(self, "'plot' is mandatory.") dataset = self.getInputFromPort('dataset') plotType = self.getInputFromPort('plot') axes = self.forceGetInputFromPort('axes') inCanvas = self.forceGetInputFromPort('canvas') if axes!=None: try: kwargs = eval(axes) except: raise ModuleError(self, "Invalid 'axes' specification", axes) dataset = dataset(**kwargs) outCanvas = None if inCanvas!=None: inCanvas.plot(dataset, 'ASD', plotType) outCanvas = inCanvas else: ev = DisplayCellEvent() ev.vistrail = {'locator': None, 'version': -1, 'actions': []} ev.cellType = QCDATWidget ev.inputPorts = (dataset, 'ASD', plotType) QtCore.QCoreApplication.processEvents() spreadsheetWindow = spreadsheetController.findSpreadsheetWindow() cdatWidget = spreadsheetWindow.displayCellEvent(ev) if cdatWidget!=None: outCanvas = cdatWidget.canvas self.setResult('dataset', dataset) self.setResult('canvas', outCanvas)
def compute(self): args = [] if not self.hasInputFromPort('dataset'): raise ModuleError(self, "'dataset' is mandatory.") if not self.hasInputFromPort('plot'): raise ModuleError(self, "'plot' is mandatory.") dataset = self.getInputFromPort('dataset') plotType = self.getInputFromPort('plot') axes = self.forceGetInputFromPort('axes') inCanvas = self.forceGetInputFromPort('canvas') if axes != None: try: kwargs = eval(axes) except: raise ModuleError(self, "Invalid 'axes' specification", axes) dataset = dataset(**kwargs) outCanvas = None if inCanvas != None: inCanvas.plot(dataset, 'ASD', plotType) outCanvas = inCanvas else: ev = DisplayCellEvent() ev.vistrail = {'locator': None, 'version': -1, 'actions': []} ev.cellType = QCDATWidget ev.inputPorts = (dataset, 'ASD', plotType) QtCore.QCoreApplication.processEvents() spreadsheetWindow = spreadsheetController.findSpreadsheetWindow() cdatWidget = spreadsheetWindow.displayCellEvent(ev) if cdatWidget != None: outCanvas = cdatWidget.canvas self.setResult('dataset', dataset) self.setResult('canvas', outCanvas)