Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)