Exemple #1
0
    def saveCSVFile(self, activated=False, filePath = None):
        if self.df is None or self.df_dist is None or self.df_region is None or self.relation_matrix is None:
            return

        dirctory = os.path.dirname(self.filePath)
        base_name = os.path.splitext(os.path.basename(self.filePath))[0]

        path = os.path.join(dirctory, '{0}-info.txt'.format(base_name))
        filePath, _ = QFileDialog.getSaveFileName(None, 'Save TXT File', path, "TXT files (*.txt)")
        names = list(map(lambda x: x.data(Qt.UserRole), self.getCol(0)))
        items = [self.graphics_items[name] for name in names]
        point_list = list(filter(lambda x:type(x[1]) is FigureType.Point.value, zip(names, items)))
        if len(filePath) is not 0 and len(point_list) is not 0:
            logger.debug("Saving CSV file: {0}".format(filePath))
            with open(filePath, "w") as fp:
                for name, item in point_list:
                    fp.write('{0} : {1}'.format(name, item.getPoints()))

        for attr in ['distance', 'region']:
            path = os.path.join(dirctory, '{0}-{1}.csv'.format(base_name, attr))
            filePath, _ = QFileDialog.getSaveFileName(None, 'Save CSV File', path, "CSV files (*.csv)")

            if len(filePath) is not 0:
                logger.debug("Saving CSV file: {0}".format(filePath))
                if attr=='distance':
                    self.df_dist.to_csv(filePath)
                elif attr=='region':
                    self.df_region.to_csv(filePath)

        path = os.path.join(dirctory, '{0}-relation.csv'.format(base_name))
        filePath, _ = QFileDialog.getSaveFileName(None, 'Save CSV File', path, "CSV files (*.csv)")
        if len(filePath) is not 0:
            pd.DataFrame(self.relation_matrix).to_csv(filePath)

        self.savedFlag = True
    def saveDataFiles(self, activated=False, filePath = None):
        if len(self.df.keys())!=0:
            for k, v in self.df.items():
                f_name, f_ext = os.path.splitext(self.file_name_dict[k])
                candidate_file_path = '{0}-fixed{1}'.format(f_name, f_ext)
                filePath, _ = QFileDialog.getSaveFileName(None, 'Save CSV File', candidate_file_path, "CSV files (*.csv)")

                if len(filePath) is not 0:
                    logger.debug("Saving CSV file: {0}".format(filePath))
                    df = v.copy()
                    col_n = df.as_matrix().shape[1]/2

                    col_names = np.array([('x{0}'.format(i), 'y{0}'.format(i)) for i in range(int(round(col_n)))]).flatten()
                    df.columns = pd.Index(col_names)
                    df.to_csv(filePath)

        for k, v in self.line_data_dict.items():
            f_name, f_ext = os.path.splitext(self.file_name_dict[k])
            candidate_file_path = '{0}-fixed{1}'.format(f_name, f_ext)
            filePath, _ = QFileDialog.getSaveFileName(None, 'Save JSON File', candidate_file_path, "JSON files (*.json)")

            if len(filePath) is not 0:
                logger.debug("Saving JSON file: {0}".format(filePath))
                with open(filePath, 'w') as f_p:
                    json.dump(v, f_p)
Exemple #3
0
 def actionExport(self):
     if using_qt5:
         export_as = QFileDialog.getSaveFileName(self, "Export as...")[0]
     else:
         export_as = QFileDialog.getSaveFileName(self, "Export as...")
     create_code = codegen.codegen(self, "mynode", self.blocks, self.resolution)
     if export_as != "":
         create_code.writeToFile(export_as)
Exemple #4
0
 def actionSave(self):
     if using_qt5:
         save_as = QFileDialog.getSaveFileName(self, "Save as...")[0]
     else:
         save_as = QFileDialog.getSaveFileName(self, "Save as...")
     if save_as != "":
         output_file = open(save_as, "w+")
         for b in self.blocks:
             output_file.write(" ".join([
                 str(b.p1()[0]), str(b.p1()[2]), str(b.p1()[1]),
                 str(b.p2()[0]), str(b.p2()[2]), str(b.p2()[1])]) + "\n")
         output_file.close()
 def saveControls(self):
     
     self.parser.set('CONN', 'afmip',self.afmIpLine.text())
     self.parser.set('CONN', 'afmsubport',str(self.afmSubPortNum.value()))
     self.parser.set('CONN', 'afmpubport',str(self.afmPubPortNum.value()))
     self.parser.set('CONN', 'curvename',self.curveNameLine.text())
     self.parser.set('CONN', 'monitname',self.monitNameLine.text())
     self.parser.set('CONN', 'xycmd',self.xyCmdTagLine.text())
     self.parser.set('CONN', 'xyres',self.xyResTagLine.text())
     
     self.parser.set('PIEZO', 'vmax',str(self.maxPiezoVoltNumDbl.value()))
     self.parser.set('PIEZO', 'vmin',str(self.minPiezoVoltNumDbl.value()))
     self.parser.set('PIEZO', 'zmax',str(self.maxPiezoExtNumDbl.value()))
     self.parser.set('PIEZO', 'zmin',str(self.minPiezoExtNumDbl.value()))
     self.parser.set('PIEZO','nearfar',str(self.farNearCmbBox.currentIndex()))
     self.parser.set('PIEZO','movobj',str(self.movingObjCmbBox.currentIndex()))
     self.parser.set('PIEZO', 'maxspeed',str(self.maxSpeedNumDbl.value()))
     self.parser.set('PIEZO', 'tostartspeed',str(self.toStartSpeedNumDbl.value()))
     
     self.parser.set('OTHER','deflsign',str(self.deflSignCmbBox.currentIndex()))
     self.parser.set('OTHER','deflmax',str(self.maxDeflVoltNumDbl.value()))
     self.parser.set('OTHER','deflmin',str(self.minDeflVoltNumDbl.value()))
     self.parser.set('OTHER', 'sumthr',str(self.sumThrNumDbl.value()))
     self.parser.set('OTHER', 'imax',str(self.iGainMaxNumDbl.value()))
     self.parser.set('OTHER', 'pmax',str(self.pGainMaxNumDbl.value()))
     self.parser.set('OTHER', 'defdir', self.defDirLine.text())
     self.parser.set('OTHER', 'defbasename', self.defBaseNameLine.text())
     
     warningDial = QMessageBox(self)
     warningDial.setWindowTitle('Saving...')
     warningDial.setText('Do you want to create a new configuration file?')
     warningDial.setStandardButtons(QMessageBox.Yes|QMessageBox.No)
     warningDial.setDefaultButton(QMessageBox.No)
     answer = warningDial.exec_()
     if answer == 65536:
         fp = open(self.cfgFile,'w')
     else:
         if ENV == 'PyQt5':
             fname = str(QFileDialog.getSaveFileName(self,'Choose a name for your new configuration file:',filter='Ini (*.ini)')[0])
         else:
             fname = str(QFileDialog.getSaveFileName(self,'Choose a name for your new configuration file:',filter='Ini (*.ini)'))
         sf = splitext(fname)
         if sf[1] != '.ini':
             fname = sf[0]+'.ini'
         fp = open(fname,'w')
     
     self.parser.write(fp)
     fp.close()
Exemple #6
0
    def save_workspace(self):
        filename = QFileDialog.getSaveFileName(self, "Save analysis workspace", "workspace.apolw",
                                               "Apol Workspace Files (*.apolw);;"
                                               "All Files (*)")[0]

        if not filename:
            return

        workspace = {}
        workspace["__policy__"] = os.path.abspath(str(self._policy))
        workspace["__permmap__"] = os.path.abspath(str(self._permmap))
        workspace["__tabs__"] = []

        for index in range(self.AnalysisTabs.count()):
            tab = self.AnalysisTabs.widget(index)

            settings = tab.save()

            # add the tab info to the settings.
            settings["__title__"] = self.AnalysisTabs.tabText(index)
            settings["__tab__"] = type(tab).__name__

            workspace["__tabs__"].append(settings)

        with open(filename, "w") as fd:
            json.dump(workspace, fd, indent=1)
Exemple #7
0
    def save(self):
        #: So self.title has to be modified
        self.save_title = self.title.split(' ')[1] + '.png'
        print('save_title is ', self.save_title)

        if "edr" in self.filename:
            filename = QFileDialog.getSaveFileName(self,
                                                   "G.R.O.M. Editor -- Save File As", self.save_title,
                                                   "png (*.png  *.*)")
            print('filename is ', filename)
            if len(filename[0]) == 0:
                return
            self.filenameSave = filename[0]
            print('Save graph ', self.filenameSave)
        # self.setWindowTitle(QFileInfo(self.filename).fileName())
        exception = None
        fh = None
        try:
            # fh = QFile(self.filenameSave)
            # if not fh.open(QIODevice.WriteOnly):
            # raise IOError(str(fh.errorString()))
            self.plotToolWidget.saveFig(self.filenameSave)
        except EnvironmentError as e:
            exception = e
            print('error in saving ', e)
Exemple #8
0
    def savetdms(self):
        if self.data is None:
            self.statusBar().showMessage('无Abf数据')
            QMessageBox.information(self, "标题", "无Abf数据", QMessageBox.Ok)
            return None
        file_choices = "mat (*.mat)"
        path = QFileDialog.getSaveFileName(self, 'Save file', '', file_choices)
        if path:
            if self.checkBox_5_tdms.isChecked():
                self.start = int(self.doubleSpinBox_8_tdms.value() * self.sam)
                self.end = int(self.doubleSpinBox_9_tdms.value() * self.sam)
                if self.start >= self.end:
                    QMessageBox.information(self, "标题", "请正确设置时间范围", QMessageBox.Ok)
                    return  None
                else:

                    self.part_tdms=np.array((self.time[self.start:self.end],self.data[self.start:self.end]))

                    sio.savemat(path[0], {'f': self.part_tdms.T})

                    self.statusBar().showMessage('Saved to %s' % path[0])
                    self.statusBar().showMessage('数据保存完成')
                    QMessageBox.information(self, "标题", "数据保存完成", QMessageBox.Ok)

            else:
                sio.savemat(path[0], {'f':  np.array((self.time,self.data)).T})
                self.statusBar().showMessage('Saved to %s' % path[0])
                self.statusBar().showMessage('数据保存完成')
                QMessageBox.information(self, "标题", "数据保存完成", QMessageBox.Ok)


        else:
            self.statusBar().showMessage('请选择保存文件位置')
            pass
    def exportSinglePost(self, post):
        # Here I need to get the post, convert it to dict, and put it into a text file.
        postAsDict = ujson.loads(post)
        if len(postAsDict["Body"]) < 25:
            fileName = postAsDict["Body"]
        else:
            fileName = postAsDict["Body"][0:25] + ".."
        from PyQt5.QtWidgets import QFileDialog

        dialog = QFileDialog()
        filePath = dialog.getSaveFileName(None, "Please select a location to save a post.", fileName + ".txt")
        filePath = filePath[0]
        postText = u"""%s\n
by %s, at %s\n
Gathered from Aether network. Aether is a distributed network of anonymous forums. Join us at www.getaether.net.
This post is licensed under CC-BY-SA.""" % (
            postAsDict["Body"],
            postAsDict["OwnerUsername"],
            str(datetime.utcfromtimestamp(float(postAsDict["CreationDate"]))),
        )
        postText = postText.encode("utf8")
        f = open(filePath, "wb")
        f.write(postText)
        f.close()
        return True
Exemple #10
0
	def saveFile(self, dlg=False):
		fileNameToSave = self.currentTab.fileName

		if (not fileNameToSave) or dlg:
			markupClass = self.currentTab.getActiveMarkupClass()
			if (markupClass is None) or not hasattr(markupClass, 'default_extension'):
				defaultExt = self.tr("Plain text (*.txt)")
				ext = ".txt"
			else:
				defaultExt = self.tr('%s files',
					'Example of final string: Markdown files') \
					% markupClass.name + ' (' + str.join(' ',
					('*'+extension for extension in markupClass.file_extensions)) + ')'
				if markupClass == markups.MarkdownMarkup:
					ext = globalSettings.markdownDefaultFileExtension
				elif markupClass == markups.ReStructuredTextMarkup:
					ext = globalSettings.restDefaultFileExtension
				else:
					ext = markupClass.default_extension
			fileNameToSave = QFileDialog.getSaveFileName(self,
				self.tr("Save file"), "", defaultExt)[0]
			if fileNameToSave:
				if not QFileInfo(fileNameToSave).suffix():
					fileNameToSave += ext
				self.actionSetEncoding.setDisabled(self.autoSaveActive())
		if fileNameToSave:
			if self.currentTab.saveTextToFile(fileNameToSave):
				self.moveToTopOfRecentFileList(self.currentTab.fileName)
				return True
			else:
				QMessageBox.warning(self, '',
				self.tr("Cannot save to file because it is read-only!"))
		return False
Exemple #11
0
 def get_save_path(self, folder):
     """
     Displays a dialog for selecting a file to save. Returns the selected
     path. Defaults to start in the referenced folder.
     """
     path, _ = QFileDialog.getSaveFileName(self.widget, 'Save file', folder)
     return path
 def saveFileDialog(self):
     fname = self.filename()
     if fname == None:
         directory = "."
     else:
         directory = QFileInfo(fname).path()
     if util.isWindows():  # required for native looking file window
         fname = QFileDialog.getSaveFileName(
                         self.win,
                         "%s - Save As" % QApplication.applicationName(),
                         directory,
                         "%s (*.json)" % QApplication.applicationName())
         self.writeDocumentToFile(fname)
     else:  # access through non-blocking callback
         fdialog = QFileDialog(
                         self.win,
                         "%s - Save As" % QApplication.applicationName(),
                         directory,
                         "%s (*.json)" % QApplication.applicationName())
         fdialog.setAcceptMode(QFileDialog.AcceptSave)
         fdialog.setWindowFlags(Qt.Sheet)
         fdialog.setWindowModality(Qt.WindowModal)
         self.filesavedialog = fdialog
         self.filesavedialog.filesSelected.connect(
                                             self.saveFileDialogCallback)
         fdialog.open()
Exemple #13
0
    def yaml_export(self, filepath=None):
                
        # filepath is set for unittest
        if not filepath:
            filepath = QFileDialog.getSaveFileName(
                                                   self, 
                                                   "Export project",
                                                   self.name, 
                                                   ".yaml"
                                                   )
            filepath = ''.join(filepath)
        else:
            selected_file = open(filepath, 'w')
        
        with open(filepath, 'w') as file:                                                            
            project_objects = {
            subtype: {
                      str(obj.name):  {
                                       property.name: str(getattr(obj, property.name))
                                       for property in properties
                                       }
                      for obj in self.network_view.network.ftr(
                                                subtype_to_type[subtype], 
                                                subtype
                                                )
                      }
            for subtype, properties in object_ie.items()
            }

            dump(project_objects, file, default_flow_style=False)
Exemple #14
0
 def saveAsDoc(self, doc: MasterDocument):
     fn = QFileDialog.getSaveFileName(self)[0]
     if fn == "":
         return False
     doc.saveToFile(fn)
     self.ui.statusbar.showMessage("Document saved as {}".format(fn), 5000)
     return True
Exemple #15
0
	def getImageFilenameAndLink(self):
		if self.tab.fileName:
			saveDir = os.path.dirname(self.tab.fileName)
		else:
			saveDir = os.getcwd()

		imageFileName = self.findNextImageName(os.listdir(saveDir))

		chosenFileName = QFileDialog.getSaveFileName(self,
		                                   self.tr('Save image'),
		                                   os.path.join(saveDir, imageFileName),
		                                   self.tr('Images (*.png *.jpg)'))[0]

		if chosenFileName:
			# Use relative links for named documents
			if self.tab.fileName:
				try:
					link = os.path.relpath(chosenFileName, saveDir)
				except ValueError:  # different roots
					link = chosenFileName
			else:
				link = chosenFileName
		else:
			link = None

		return chosenFileName, link
Exemple #16
0
 def save(self):
     if "Unnamed" in self.filename:
         filename = QFileDialog.getSaveFileName(self,
                                                "G.R.O.M. Editor -- Save File As", self.filename,
                                                "MD files (*.mdp *.itp *.top *.*)")
         print('filename is ', filename)
         if len(filename[0]) == 0:
             return
         self.filename = filename[0]
     self.setWindowTitle(QFileInfo(self.filename).fileName())
     exception = None
     fh = None
     try:
         fh = QFile(self.filename)
         if not fh.open(QIODevice.WriteOnly):
             raise IOError(str(fh.errorString()))
         stream = QTextStream(fh)
         stream.setCodec("UTF-8")
         stream << self.toPlainText()
         self.document().setModified(False)
     except EnvironmentError as e:
         exception = e
     finally:
         if fh is not None:
             fh.close()
         if exception is not None:
             raise exception
Exemple #17
0
    def select_save_path(self):
        """
        Open a dialog where the user can select a file name to save the
        hydrograph.
        """
        if self.wldset is None:
            return

        ffmat = "*.pdf;;*.svg;;*.png"
        fname = find_unique_filename(osp.join(
            self.save_fig_dir, 'hydrograph_%s.pdf' % self.wldset['Well']))

        fname, ftype = QFileDialog.getSaveFileName(
            self, "Save Figure", fname, ffmat)
        if fname:
            ftype = ftype.replace('*', '')
            fname = fname if fname.endswith(ftype) else fname + ftype
            self.save_fig_dir = os.path.dirname(fname)

            try:
                self.save_figure(fname)
            except PermissionError:
                msg = "The file is in use by another application or user."
                QMessageBox.warning(self, 'Warning', msg, QMessageBox.Ok)
                self.select_save_path()
Exemple #18
0
	def runExtensionCommand(self, command, filefilter, defaultext):
		of = ('%of' in command)
		html = ('%html' in command)
		if of:
			if defaultext and not filefilter:
				filefilter = '*'+defaultext
			fileName = QFileDialog.getSaveFileName(self,
				self.tr('Export document'), '', filefilter)[0]
			if not fileName:
				return
			if defaultext and not QFileInfo(fileName).suffix():
				fileName += defaultext
		basename = '.%s.retext-temp' % self.currentTab.getDocumentTitle(baseName=True)
		if html:
			tmpname = basename+'.html'
			self.saveHtml(tmpname)
		else:
			tmpname = basename + self.currentTab.getMarkupClass().default_extension
			self.currentTab.saveTextToFile(fileName=tmpname, addToWatcher=False)
		command = command.replace('%of', '"out'+defaultext+'"')
		command = command.replace('%html' if html else '%if', '"'+tmpname+'"')
		try:
			Popen(str(command), shell=True).wait()
		except Exception as error:
			errorstr = str(error)
			QMessageBox.warning(self, '', self.tr('Failed to execute the command:')
			+ '\n' + errorstr)
		QFile(tmpname).remove()
		if of:
			QFile('out'+defaultext).rename(fileName)
Exemple #19
0
    def btn_save_clicked(self):
        """
        Action performed after clicking "Save as..."
        """

        if not self.screenshot:
            return

        # display dialog with path to image
        (path, _) = QFileDialog.getSaveFileName(parent=self,
                                                caption="Path to store image",
                                                filter=self.filter)

        if not path:
            # cancel clicked
            return

        _, extension = os.path.splitext(path)
        extension = extension[1:]  # ignore dot at the beginning of extension

        format = ''
        if extension not in self.supported_extensions:
            # unexpected extension, fallback to png
            format = 'png'
        self.screenshot.save(path, format=format)
Exemple #20
0
    def createXmi(self):
        """ Create XMI file """
        msg = 'Sorry, we were unable to process your request'
        root = self.__basepath if self.__basepath != '' else os.getenv('HOME')
        filename, type = QFileDialog.getSaveFileName(self, 'Open file for inspection', root)

        path, name = os.path.split(filename)
        if not os.access(path, os.R_OK):
            self.showMessage('Sorry, this file couldn’t be written to')
            return

        if self.__xmi is None:
            self.__xmi = Xmi()
        try:
            self.__xmi.setTree(self.__data.getSymbolTree())
            self.__xmi.write(filename)
            self.statusBar().showMessage('{} successfully written'.format(name), 6000)
            return True
        except ValueError as em:
            print('bad format for data: {}'.format(em))
        except RuntimeError as em:
            print('should not be here: {}'.format(em))
        except OSError as em:
            msg = 'Sorry, we were unable to write to this file'
            print('inform: problem writing file {}'.format(em))
        self.showMessage(msg)
Exemple #21
0
 def Convert():
     func = Functions()
     InFile = getattr(self, convertID+'InEdit').text()
     if InFile:
         dialog = QFileDialog()
         dialog.raise_()
         fileName, _ = dialog.getSaveFileName(self, "Save As...", InFile, "All Files (*.*)", options=QFileDialog.Options())
         if fileName:
             convertBtn = getattr(self, convertID+'ConvertBtn')
             old_text = convertBtn.text()
             convertBtn.setText('proc...')
             self.setEnabled(False)
             QApplication.processEvents()
             if fileName != InFile:
                 print("Saving file as "+ fileName)
                 if convertID == "At3":
                     if self.At3EditorEdit.text() and self.FFEditorEdit.text():
                         func.At3Convert(InFile, fileName)
                     else:
                         self.make_ErrorMessage("FFMpeg or the At3Tool has not been configured in the settings.")
                 elif convertID == "Vid":
                     if self.FFEditorEdit.text():
                         func.VidConvert(InFile, fileName)
                     else:
                         self.make_ErrorMessage("FFMpeg has not been configured in the settings.")
                 elif convertID == "Pmf":
                     func.PmfConvert(InFile, fileName)
                 convertBtn.setText(old_text)
             else:
                 self.make_ErrorMessage("You can't save over the file you are converting!")
             self.setEnabled(True)
     else:
         self.make_ErrorMessage('You are missing an input file.')
Exemple #22
0
    def saveAs(self):
        if settings.get("file_dialog_dir"):
            self.curDir = '~/'
        else:
            self.curDir = settings.get("file_dialog_dir")

        filename = QFileDialog.getSaveFileName(self,
                self.tr("Save document"), self.curDir,
                self.tr("ODT document (*.odt);;Text file (*.txt);;"
                        "HTML file (*.html);;PDF file(*.pdf)")
                )
        if not filename: return

        self.curDir = os.path.dirname(filename)
        settings.set("file_dialog_dir", self.curDir)

        dw = QTextDocumentWriter()
        dw.setFormat('ODF')  # Default format

        # Check for alternative output format
        if filename.rsplit('.', 1)[1] == "txt":
            dw.setFormat('plaintext')
        if filename.rsplit('.', 1)[1] in ("html", "htm"):
            dw.setFormat('HTML')
        if filename.rsplit('.', 1)[1] in ("PDF", "pdf"):
            self.filePrintPdf(filename)
            return
        dw.setFileName(filename)
        dw.write(self.document())
Exemple #23
0
def get_save_file_name(*args, **kwargs):
    filename, _selected_filter = QFileDialog.getSaveFileName(*args, **kwargs)

    if len(filename) > 0:
        filename = QDir.toNativeSeparators(filename)

    return filename
Exemple #24
0
    def saveImageButtonClicked(self):
        filters = 'Portable Network Graphics (*.png)'
        filters += ';;' + 'Joint Photographic Experts Group (*.jpg)'
        filters += ';;' + 'Windows Bitmap (*.bmp)'
        filters += ';;' + 'Tagged Image File Format (*.tiff)'
        
        filename = QFileDialog.getSaveFileName(
             caption='Save Image As',
             directory='ptchan_image.png',
             filter=filters,
             initialFilter='Portable Network Graphics (*.png)')
        
        # retrieve data from PTchan engine
        data_raw = self.engine.getFilmView().getData()
        data = array('f', data_raw) # this converts data into proper array

        # convert from float in [0.0,1.0] to bytes in [0,255]
        list = []
        for comp in data:
            list.append(int(255.0 * comp))

        # transform list of integers into byte array
        byte_array = array('B', list)
        
        image = QImage(
            byte_array.tostring(),
            self.engine.getFilmView().getWidth(),
            self.engine.getFilmView().getHeight(),
            QImage.Format_RGB888)

        # default mirrored() inverts vertical, exactly what is needed to transform
        # image data from OpenGL coord frame
        image.mirrored().save(filename[0])
Exemple #25
0
    def saveAs(self):
        fileName, _ = QFileDialog.getSaveFileName(self, "Save As",
                self.curFile)
        if not fileName:
            return False

        return self.saveFile(fileName)
    def saveText(self):
        """Executes the conversion of the analysis results to raw text data."""
        fileName = QFileDialog.getSaveFileName(self, 'Export Path')
        if len(fileName[0]) > 0:
            path, file_extension = os.path.splitext(fileName[0])
            boxIndex = 0
            requestedParameters = []
            for box in self.checkboxes:
                if box.isChecked():
                    requestedParameters.append(self.keys[boxIndex])
                boxIndex += 1

            tableHeadings = []
            for par in requestedParameters:
                tableHeadings.append(self.checkboxdict[par])

            f = open(path + ".txt", "w")
            row_format = " {:>20} " * (len(requestedParameters) + 1)
            f.write(row_format.format("", *tableHeadings))
            f.write("\n")

            for c in self.contacts:
                currentContactProperties = []
                for p in requestedParameters:
                    exec("propertyToAdd = c." + p + "()")
                    if isinstance(propertyToAdd, float):
                        propertyToAdd = "{0:.3f}".format(propertyToAdd)
                    currentContactProperties.append(propertyToAdd)
                f.write(row_format.format(c.human_readable_title(), *currentContactProperties))
                f.write("\n")
            f.close()
Exemple #27
0
    def saveImage(self):
        def ext_for_filter(s):
            return re.match(r'(?:[A-Z]+) \(\*\.([a-z]+)\)$', s).group(1)

        if not self.pixmap:
            return

        filters = ['PNG (*.png)', 'JPEG (*.jpg)', 'GIF (*.gif)']

        obj = self.current.data(ResultModel.RoleObject)
        name = '%s.%s' % (obj.title or obj.id or u'', obj.ext or 'png')
        default = filters[0]
        for f in filters:
            if name.endswith(ext_for_filter(f)):
                default = f
        filters = ';;'.join(filters)

        target = os.path.join(self.parent().lastSaveDir, name)
        out, filter = QFileDialog.getSaveFileName(self, 'Save image', target, filters, default)
        if not out:
            return

        ext = ext_for_filter(filter)

        self.parent().lastSaveDir = os.path.dirname(out)
        if not os.path.splitext(out)[1]:
            out = '%s.%s' % (out, ext)

            if os.path.exists(out):
                q = self.tr('%s already exists, are you sure you want to replace it?') % out
                reply = QMessageBox.question(self, self.tr('Overwrite?'), q)
                if reply == QMessageBox.No:
                    return self.saveImage()

        self.pixmap.save(out, ext.upper())
    def mergeToHdrClicked(self):
        if self.fileTreeWidget.topLevelItemCount() == 0:
            self.statusBar().showMessage("No files in stack.", 5000)
            return

        files = []

        for index in range(self.fileTreeWidget.topLevelItemCount()):
            item = self.fileTreeWidget.topLevelItem(index)
            imagePath = item.text(4) + "/" + item.text(0)
            files.append(imagePath)

        filename = QFileDialog.getSaveFileName(self, "Save OpenEXR File", "", "OpenEXR Images (*.exr)")
        if filename[1] == "":
            self.statusBar().showMessage("Save aborted.", 5000)
            return

        self.mergerThread = HdrMergerThread(files, filename[0])
        self.mergerThread.newOutputLine.connect(self.addOutputLine)

        self.clearOutput()
        self.addOutputLine("<b>Starting merge of images:</b>")
        self.mergerThread.start()

        def enableButton():
            self.mergeToHdrPushButton.setEnabled(True)
            self.addOutputLine("<b>Merge finished.</b>")

        self.mergerThread.finished.connect(enableButton)

        self.mergeToHdrPushButton.setEnabled(False)
Exemple #29
0
	def saveFile(self):
		"""Save edited file

		If no file path is set, a file dialog is shown to ask the user where to save content.
		"""
		path = self.path

		newFile = not path
		if newFile:
			path, qfilter = QFileDialog.getSaveFileName(self, self.tr('Save file'), os.path.expanduser('~'))
			if not path:
				return False
			path = path

		data = self._writeText(self.text())
		self.fileAboutToBeSaved.emit(path)
		try:
			io.writeBytesToFile(path, data)
		except IOError:
			LOGGER.error('cannot write file %r', path, exc_info=True)
			return False

		self.path = path
		self.setModified(False)
		if newFile:
			self.fileSavedAs.emit(path)
		else:
			self.fileSaved.emit(path)

		return True
    def save_settings(self):
        try:
            settings = self._get_settings()

        except TabFieldError as ex:
            self.log.critical("Errors in the query prevent saving the settings. {0}".format(ex))
            self.error_msg.critical(self, "Unable to save settings",
                                    "Please resolve errors in the tab before saving the settings."
                                    )
            return

        filename = QFileDialog.getSaveFileName(self, "Save analysis tab settings", "analysis.apolt",
                                               "Apol Tab Settings File (*.apolt);;"
                                               "All Files (*)")[0]

        if not filename:
            return

        try:
            with open(filename, "w") as fd:
                json.dump(settings, fd, indent=1)
        except OSError as ex:
            self.log.critical("Unable to save settings file \"{0.filename}\": {0.strerror}".
                              format(ex))
            self.error_msg.critical(self, "Failed to save settings",
                                    "Failed to save \"{0.filename}\": {0.strerror}".format(ex))
        except Exception as ex:
            self.log.critical("Unable to save settings file \"{0}\": {1}".format(filename, ex))
            self.error_msg.critical(self, "Failed to save settings", str(ex))
        else:
            self.log.info("Successfully saved settings file \"{0}\"".format(filename))
Exemple #31
0
 def select_premerge_file(self):
     filename, _filter = QFileDialog.getSaveFileName(
         self.dlg, "Select output file ", "", '*.shp')
     self.dlg.SelectPreMergeOutputButton.setText(filename)
Exemple #32
0
 def select_output_file(self):
     filename, _filter = QFileDialog.getSaveFileName(
         self.dlg, "Select output file ", "", '*.shp')
     self.dlg.outputHeirarchyFileName.setText(filename)
Exemple #33
0
 def select_target(self):
     target, fileType = QFileDialog.getSaveFileName(
         self, "select the save directory", "C:/")
     self.target_le.setText(str(target))
Exemple #34
0
 def saveFile(self):
     name = QFileDialog.getSaveFileName(self, 'Save File')
     if name[0]:
         with open(name[0], 'w') as file:
             text = self.textEdit.toPlainText()
             file.write(text)
 def file_save_as(self):
     name = QFileDialog.getSaveFileName(self, 'Save File')
     file = open(name[0], 'w')
     text = self.plainTextEdit_2.toPlainText()
     file.write(text)
     file.close()
Exemple #36
0
    def file_btn_click_event(self, clicked_btn):
        name = self.info_table.item(0, 0)
        if name is None:
            QMessageBox.about(self, "Error", "There is no searching history")
            return

        # search information
        searched_type = str(self.search_type_list.currentText())
        searched_input = self.search_line.text()

        selected_species = []
        if self.species_all.isChecked():
            selected_species.append('all')
        else:
            if self.species_btn1.isChecked():
                selected_species.append('zebra fish')
            if self.species_btn2.isChecked():
                selected_species.append('fathead minnow')
            if self.species_btn3.isChecked():
                selected_species.append('medaka')
            if self.species_btn4.isChecked():
                selected_species.append('daphnia')
            if self.species_others.isChecked():
                selected_species.append('others')
        selected_species = ', '.join(selected_species)

        selected_ep = []
        if self.ep_all.isChecked():
            selected_ep.append('all')
        else:
            if self.ep_lc_btn.isChecked():
                selected_ep.append('LC50')
            if self.ep_ec_btn.isChecked():
                selected_ep.append('EC50')
            if self.ep_others.isChecked():
                selected_ep.append('others')
        selected_ep = ', '.join(selected_ep)

        # chemical information
        name = self.info_table.item(0, 0).text()
        iupac_name = self.info_table.item(1, 0).text()
        cas = self.info_table.item(2, 0).text()
        smiles = self.info_table.item(3, 0).text()

        # toxic information
        poison_text = self.poison_text.toPlainText()
        meta_all = self.meta_all.toPlainText()

        # mass spectrum
        try:
            self.MS_data[smiles]

            fig = self.mass_fig
            fig.set_size_inches(12.5, 7.0)
            fig.savefig('mass_fig.png', dpi=100)

            #            self.mass_fig.savefig('mass_fig.png',
            #                                  dpi=100,
            #                                  papertype='a4')
            #                                  bbox_inches='tight')

            reference = self.reference_line.text()
        except:
            pass

        # Make the entire text edit for save/print
        entire_text = QTextEdit('')
        entire_text.append('\n' + '=' * 10 + 'Search Information' + '=' * 10 +
                           '\n')
        entire_text.append('Searched type: {}'.format(searched_type))
        entire_text.append('Searched input: {}'.format(searched_input))
        entire_text.append('Selected species: {}'.format(selected_species))
        entire_text.append('Selected end point: {}'.format(selected_ep))
        entire_text.append('\n' + '=' * 10 + 'Chemical Information' +
                           '=' * 10 + '\n')
        entire_text.append('Name: {}'.format(name))
        entire_text.append('IUPAC name: {}'.format(iupac_name))
        entire_text.append('CAS number: {}'.format(cas))
        entire_text.append('SMILES: {}'.format(smiles))
        entire_text.append('\n' + '=' * 10 + 'Toxic Information' + '=' * 10 +
                           '\n')
        entire_text.append(poison_text)

        try:
            self.MS_data[smiles]
            entire_text.append('\n' + '=' * 10 + 'Mass Spectrum' + '=' * 10 +
                               '\n')
            entire_text.append('reference: {}'.format(reference) + '\n')

            cursor = entire_text.textCursor()
            entire_text.moveCursor(QTextCursor.End)

            #           img = Image.open('mass_fig.png')
            #           img_re = img.resize((int(img.width/2.5), int(img.height/2.5)), Image.ANTIALIAS)
            #           img_re.save('mass_fig2.png')

            cursor.insertImage('mass_fig.png')

            entire_text.append(meta_all)

        except:
            pass

        if clicked_btn == 'save':
            fn, _ = QFileDialog.getSaveFileName(
                self, 'Export PDF', None, 'PDF files (.pdf);;All Files()')
            if fn != '':
                if QFileInfo(fn).suffix() == "": fn += '.pdf'
                printer = QPrinter(QPrinter.HighResolution)
                # printer = QPrinter(QPrinter.ScreenResolution)
                printer.setOutputFormat(QPrinter.PdfFormat)
                printer.setOutputFileName(fn)
                entire_text.document().print_(printer)
            try:
                os.remove('mass_fig.png')
            except:
                pass

        elif clicked_btn == 'print':
            printer = QPrinter(QPrinter.HighResolution)
            dialog = QPrintDialog(printer, self)
            if dialog.exec_() == QPrintDialog.Accepted:
                entire_text.print_(printer)
            try:
                os.remove('mass_fig.png')
            except:
                pass
Exemple #37
0
 def save():
     fname = QFileDialog.getSaveFileName(qgv, "Save", "", "*.json")
     if (fname[0] != ""):
         qgv.saveAsJson(fname[0])
Exemple #38
0
 def getSaveFileName(self, data_dir, message, file_format):
     save_file, _ = QFileDialog.getSaveFileName(self, message, data_dir,\
             file_format)
     return save_file
Exemple #39
0
 def __saveAs(self):
     saveAspath, _ = QFileDialog.getSaveFileName(self, 'Save as',
                                                 QDir.currentPath(),
                                                 "CSV Files(*.csv)")
     if saveAspath != '':
         self.pathContainer['SaveAsPath'] = saveAspath
 def unloadCSV(self):
     direction = QFileDialog.getSaveFileName(self, 'Сохранить', '',
                                             '*.csv')[0]
     with open(direction, mode='w', encoding='utf8') as file:
         file.write(self.textEdit.toPlainText())
 def save_text(self):
     filename = QFileDialog.getSaveFileName(self, 'Save File', os.getenv('HOME'))
     with open(filename[0], 'w') as f:
         my_text = self.text.toPlainText()
         f.write(my_text)
 def saveFile(self):
     pathfile = QFileDialog.getSaveFileName(self, "Save File")
     createpdf(self.path, pathfile[0], self.y_pred)
Exemple #43
0
 def save_as_file(self):
     self.file_path = QFileDialog.getSaveFileName(self, 'Сохранить как...',
                                                  '/home')[0]
     self.save_file()
Exemple #44
0
 def action_output_file_browser_clicked(self):
     output_path, type = QFileDialog.getSaveFileName(
         self, "导出合成影像", os.getcwd(), "*.tif;;*.jpg;;*.bmp")
     self.output_file_path.setText(output_path)
Exemple #45
0
 def handle_browse_button(self):
     save_location = QFileDialog.getSaveFileName(self,
                                                 caption="Save As",
                                                 directory=".",
                                                 filter="All files (*.*)")
     self.SaveLocationText.setText(save_location[0])
Exemple #46
0
 def exportDocument(self):
     document = Krita.instance().activeDocument()
     if not document:
         return
     fileName = QFileDialog.getSaveFileName()[0]
     document.exportImage(fileName, InfoObject())
Exemple #47
0
 def on_click_set_path(self):
     QFileDialog.getSaveFileName()
     self.ui.lineEdit_save_image.setText(self.set_filename_open())
 def __prepare_file_chooser(self):
     filename, _ = QFileDialog.getSaveFileName(self, "Save PDF report", filter="PDF Files (*.pdf)")
     return filename
Exemple #49
0
 def save_plan(self):
     plan, _ = QFileDialog.getSaveFileName(
         self.centralwidget,
         'Salvar planilha',
     )
     wb.save(plan + '.xlsx')
Exemple #50
0
    def excel_export(self, selected_file=None):

        # to convert a list of object into a string of a list of strings
        # useful for AS nodes, edges, links as well as area nodes and links
        to_string = lambda s: str(list(map(str, s)))

        # filepath is set for unittest
        if not selected_file:
            filepath = QFileDialog.getSaveFileName(self, "Export project",
                                                   self.name, ".xls")
            selected_file = ''.join(filepath)
        print(selected_file)
        # else:
        #     selected_file = open(filepath, 'w')

        excel_workbook = xlwt.Workbook()
        for obj_subtype, properties in object_ie.items():
            # we have one excel sheet per subtype of object.
            # we filter the network pool based on the subtype to
            # retrieve only the object of the corresponding subtype
            # this was done because objects have different properties
            # depending on the subtype, and we want to avoid using
            # hasattr() all the time to check if a property exists.
            obj_type = subtype_to_type[obj_subtype]
            if obj_subtype == 'site':
                pool_obj = list(self.site_view.network.nodes.values())
            else:
                pool_obj = list(
                    self.network_view.network.ftr(obj_type, obj_subtype))
            # we create an excel sheet only if there's at least one object
            # of a given subtype
            if pool_obj:
                xls_sheet = excel_workbook.add_sheet(obj_subtype)
                for id, property in enumerate(properties):
                    xls_sheet.write(0, id, property.name)
                    for i, obj in enumerate(pool_obj, 1):
                        xls_sheet.write(i, id, str(getattr(obj,
                                                           property.name)))

        pool_AS = list(self.network_view.network.pnAS.values())

        if pool_AS:
            AS_sheet = excel_workbook.add_sheet('AS')

            for i, AS in enumerate(self.network_view.network.pnAS.values(), 1):
                AS_sheet.write(i, 0, str(AS.name))
                AS_sheet.write(i, 1, str(AS.AS_type))
                AS_sheet.write(i, 2, str(AS.id))
                AS_sheet.write(i, 3, to_string(AS.pAS['node']))
                AS_sheet.write(i, 4, to_string(AS.pAS['link']))

            node_AS_sheet = excel_workbook.add_sheet('per-AS node properties')

            cpt = 1
            for AS in self.network_view.network.pnAS.values():
                for node in AS.nodes:
                    node_AS_sheet.write(cpt, 0, AS.name)
                    node_AS_sheet.write(cpt, 1, node.name)
                    for idx, property in enumerate(
                            perAS_properties[node.subtype], 2):
                        node_AS_sheet.write(cpt, idx,
                                            str(node(AS.name, property.name)))
                    cpt += 1

            if_AS_sheet = excel_workbook.add_sheet(
                'per-AS interface properties')

            cpt = 1
            for AS in self.network_view.network.pnAS.values():
                if AS.AS_type != 'BGP':
                    for link in AS.links:
                        for interface in (link.interfaceS, link.interfaceD):
                            if_AS_sheet.write(cpt, 0, AS.name)
                            if_AS_sheet.write(cpt, 1, str(interface.link))
                            if_AS_sheet.write(cpt, 2, str(interface.node))
                            for idx, property in enumerate(
                                    ethernet_interface_perAS_properties, 3):
                                if_AS_sheet.write(
                                    cpt, idx,
                                    str(interface(AS.name, property.name)))
                            cpt += 1

        has_area = lambda a: a.has_area
        pool_area = list(
            filter(has_area, self.network_view.network.pnAS.values()))

        if pool_area:
            area_sheet = excel_workbook.add_sheet('area')

            cpt = 1
            for AS in filter(lambda a: a.has_area,
                             self.network_view.network.pnAS.values()):
                for area in AS.areas.values():
                    area_sheet.write(cpt, 0, str(area.name))
                    area_sheet.write(cpt, 1, str(area.AS))
                    area_sheet.write(cpt, 2, str(area.id))
                    area_sheet.write(cpt, 3, to_string(area.pa['node']))
                    area_sheet.write(cpt, 4, to_string(area.pa['link']))
                    cpt += 1

        if self.site_view.network.nodes:
            site_sheet = excel_workbook.add_sheet('sites')
            for cpt, site in enumerate(self.site_view.network.nodes.values()):
                site_sheet.write(cpt, 0, str(site.name))
                site_sheet.write(cpt, 1, to_string(site.ps['node']))
                site_sheet.write(cpt, 2, to_string(site.ps['link']))

        excel_workbook.save(selected_file)
Exemple #51
0
    def save_screenshot(self):

        fname,_ = QFileDialog.getSaveFileName(self,filter=self.IMAGE_EXTENSIONS)
        if fname is not '':
             self._get_view().Dump(fname)
    def _saveData(self, dataFmt):
        """Save the content of the list box to a file.
        """
        fileExt = ""
        textFmt = ""

        if dataFmt == self.FMT_JSON:
            fileExt = "json"
            textFmt = "JSON Data File"
        elif dataFmt == self.FMT_CSV:
            fileExt = "csv"
            textFmt = "CSV Data File"
        else:
            return False

        # Generate the file name
        saveDir = self.mainConf.lastPath
        if not os.path.isdir(saveDir):
            saveDir = os.path.expanduser("~")

        fileName = "sessionStats.%s" % fileExt
        savePath = os.path.join(saveDir, fileName)

        dlgOpt  = QFileDialog.Options()
        dlgOpt |= QFileDialog.DontUseNativeDialog
        savePath, _ = QFileDialog.getSaveFileName(
            self, "Save Document As", savePath, options=dlgOpt
        )
        if not savePath:
            return False

        self.mainConf.setLastPath(savePath)

        # Do the actual writing
        wSuccess = False
        errMsg = ""

        try:
            with open(savePath, mode="w", encoding="utf8") as outFile:
                if dataFmt == self.FMT_JSON:
                    jsonData = []
                    for _, sD, tT, wD, wA, wB in self.filterData:
                        jsonData.append({
                            "date": sD,
                            "length": tT,
                            "newWords": wD,
                            "novelWords": wA,
                            "noteWords": wB,
                        })
                    json.dump(jsonData, outFile, indent=2)
                    wSuccess = True

                if dataFmt == self.FMT_CSV:
                    outFile.write(
                        '"Date","Length (sec)","Words Changed","Novel Words","Note Words"\n'
                    )
                    for _, sD, tT, wD, wA, wB in self.filterData:
                        outFile.write(f'"{sD}",{tT:.0f},{wD},{wA},{wB}\n')
                    wSuccess = True

        except Exception as e:
            errMsg = str(e)
            wSuccess = False

        # Report to user
        if wSuccess:
            self.theParent.makeAlert(
                "%s file successfully written to:<br>%s" % (
                    textFmt, savePath
                ), nwAlert.INFO
            )
        else:
            self.theParent.makeAlert(
                "Failed to write %s file.<br>%s" % (
                    textFmt, errMsg
                ), nwAlert.ERROR
            )

        return wSuccess
Exemple #53
0
    def saveToFile(self):

        if self.Xpic_min is None:
            self.HintLabel.setText('Please pick X_min')
            return
        elif self.Ypic_min is None:
            self.HintLabel.setText('Please pick Y_min')
            return
        elif self.Xpic_max is None:
            self.HintLabel.setText('Please pick X_max')
            return
        elif self.Ypic_max is None:
            self.HintLabel.setText('Please pick Y_max')
            return
        elif self.Xreal_min is None:
            self.HintLabel.setText('Please pick X_min')
            return
        elif self.Yreal_min is None:
            self.HintLabel.setText('Please pick Y_min')
            return
        elif self.Xreal_max is None:
            self.HintLabel.setText('Please pick X_max')
            return
        elif self.Yreal_max is None:
            self.HintLabel.setText('Please pick Y_max')
            return
        elif self.Xsampled is None:
            self.HintLabel.setText('Please pick data')
            return
        elif self.Ysampled is None:
            self.HintLabel.setText('Please pick data')
            return
        else:
            self.HintLabel.setText('')

        self.x = []
        self.y = []

        if self.XScaleType is 'linear':
            for xs in self.Xsampled:
                self.x.append(self.Xreal_min +
                              (self.Xreal_max - self.Xreal_min) /
                              (self.Xpic_max - self.Xpic_min) *
                              (xs - self.Xpic_min))
        elif self.XScaleType is 'log':
            Xreal_min = log10(self.Xreal_min)
            Xreal_max = log10(self.Xreal_max)
            for xs in self.Xsampled:
                self.x.append(10**(Xreal_min + (xs - self.Xpic_min) /
                                   (self.Xpic_max - self.Xpic_min) *
                                   (Xreal_max - Xreal_min)))

        if self.YScaleType is 'linear':
            for ys in self.Ysampled:
                self.y.append(self.Yreal_min +
                              (self.Yreal_max - self.Yreal_min) /
                              (self.Ypic_max - self.Ypic_min) *
                              (ys - self.Ypic_min))
        elif self.YScaleType is 'log':
            Yreal_min = log10(self.Yreal_min)
            Yreal_max = log10(self.Yreal_max)
            for ys in self.Ysampled:
                self.y.append(10**(Yreal_min + (ys - self.Ypic_min) /
                                   (self.Ypic_max - self.Ypic_min) *
                                   (Yreal_max - Yreal_min)))

        fname, _ = QFileDialog.getSaveFileName(self)

        with open(fname, 'w') as fid:
            for xpt, ypt in zip(self.x, self.y):
                fid.write("{} {}\n".format(xpt, ypt))
Exemple #54
0
 def func():
     text = filename_e.text()
     _filter = "*.csv" if text.endswith(".csv") else "*.json" if text.endswith(".json") else None
     p, __ = QFileDialog.getSaveFileName(None, select_msg, text, _filter)
     if p:
         filename_e.setText(p)
Exemple #55
0
    def pushButtonFilterGlobal_export_clicked(self):
        if self.playback_widget:
            self.playback_widget.close()
            self.playback_widget = None
        if self.playback_control_widget:
            self.playback_control_widget.close()
            self.playback_control_widget = None

        if self.frame_acceptance_np is None:
            msgbox = QMessageBox(self)
            msgbox.setWindowTitle('Error')
            msgbox.setIcon(QMessageBox.Warning)
            msgbox.setText('Nothing to export.\nPlease run filters first!')
            msgbox.show()
            return

        filename = QFileDialog.getSaveFileName(
            self,
            'Export video',
            os.path.dirname(os.path.abspath(self.cv_video_cap.file_handle)),
            filter='*.avi')[0]  # type: str
        if not filename:
            return
        if not filename.lower().endswith(".avi"):
            filename += ".avi"
        if os.path.exists(filename):
            msg = "Are you really sure you want to overwrite the file?\n%s" % filename
            reply = QMessageBox.question(self, 'One sec...', msg,
                                         QMessageBox.Yes, QMessageBox.No)
            if reply != QMessageBox.Yes:
                return

        self.create_progressbar_dialog('Loading...')
        print('Write to file [%s]' % filename)
        codec = cv2.VideoWriter_fourcc(*'XVID')
        out = cv2.VideoWriter(filename, codec, 2,
                              (int(self.cv_video_cap.get_frame_width()),
                               int(self.cv_video_cap.get_frame_height())))

        def worker_function(progress_changed, state_changed):
            state_changed.emit('Preparing to export...')
            key_frames = np.where(self.frame_acceptance_np)[0]
            num_key_frames = len(key_frames)
            progress = 0
            state_changed.emit('Writing frames...')
            for i in key_frames:
                self.cv_video_cap.set_position_frame(i)
                frame = self.cv_video_cap.read()
                if frame:
                    out.write(frame.cv_mat)
                progress += 1 / num_key_frames
                progress_changed.emit(progress)
            state_changed.emit('Writing finished, releasing file...')
            out.release()
            state_changed.emit('Done! Exported to %s.' % filename)
            print('Export Done!')
            sleep(1)

        self.export_worker_thread = QThread(self)
        self.export_worker_thread.start()
        self.export_worker = ProgressWorker(worker_function)
        self.export_worker.moveToThread(self.export_worker_thread)
        self.export_worker.progress_changed.connect(
            self.update_progressbar_dialog_value)
        self.export_worker.state_changed.connect(
            self.update_progressbar_dialog_title)
        self.export_worker.finished.connect(self.destroy_progressbar_dialog)
        self.export_worker.finished.connect(self.update_filter_status)
        self.export_worker.start.emit()
 def select_output_file(self):
     filename, _ = QFileDialog.getSaveFileName(self, "Seleziona file",
                                               QDir.currentPath(), "")
     if filename != "":
         self.output_file.setText(filename)
Exemple #57
0
 def on_button_browse(self):
     file_path, ok = QFileDialog.getSaveFileName(
         self, 'Select Result Excel Path', '',
         'XLSX Files (*.xlsx);;All Files (*)')
     if ok:
         self.__edit_path.setText(file_path)
Exemple #58
0
    def dosya_kaydet(self):
        dosya_ismi = QFileDialog.getSaveFileName(self, "Dosya Kaydet", os.getenv("HOME"))

        with open(dosya_ismi[0], "w") as file:
            file.write(self.yazi_alani.toPlainText())
Exemple #59
0
    def __ascii_to_fds(self):

        if self.__check_wind():
            # Note: normally, this would be dangerous as
            # either of these could be None, but since the user
            # cannot access this function until both are loaded

            # TODO: ensure that DEM and fuel map are both same size
            # idea: user cannot load fuel map that is not same size as DEM and vice versa
            if self.__check_ambient_temp():
                if self.__check_sim_time():

                    # Get user's working directory
                    user_settings = UserSettings()
                    file, filt = QFileDialog.getSaveFileName(
                        self, 'Save File', user_settings.working_dir,
                        "fds (*.fds)")

                    if file:

                        if not file.endswith(Fds.file_ext()):
                            file += Fds.file_ext()

                        # Note: Logically, this is where we would ensure that all of the fire line times
                        # are less than the simulation duration, however WFDS does not care weather or not such
                        # ignition points are present, hence we do not entirely care either.
                        fl_map_parser = self._fl_map_editor.parser()
                        dem_parser = self._ign_pt_editor.parser()

                        sim_time = float(self._sim_duration_line_edit.text())
                        ambient_temp = util.fahrenheit_to_celsius(
                            float(self._ambient_temp_line_edit.text()))

                        wind_speed = util.mph_to_ms(
                            float(self._wind_speed_line_edit.text()))
                        wind_direction = self._wind_direction_combo_box.currentText(
                        )

                        sim_settings = SimulationSettings(
                            'default.sim_settings')

                        sim_settings.sim_duration = sim_time
                        sim_settings.ambient_temp = ambient_temp
                        sim_settings.wind_vel = wind_speed
                        sim_settings.wind_direction = wind_direction

                        ascii_fds_converter = AsciiToFds(
                            fl_map_parser, dem_parser, sim_settings)
                        save_success = ascii_fds_converter.save(
                            self._fl_map_editor.values_grid(),
                            self._ign_pt_editor.fire_lines(), file)

                        if save_success:

                            usr_reply = QMessageBox.question(
                                self, "Export successful",
                                "Environment successfully created. "
                                "Would you like to set it as the current environment?",
                                QMessageBox.Yes | QMessageBox.No,
                                QMessageBox.Yes)

                            if usr_reply == QMessageBox.Yes:

                                self._fds.fds_file = file
                                self._fds.read()

                                self._sim_title_label.setText(
                                    'Simulation Title: ' +
                                    self._fds.job_name())
Exemple #60
0
    def on_saveasPushButton_clicked(self):

        filename = QFileDialog.getSaveFileName(self, 'Save Email', os.getcwd(),
                                               'Email (*.msg, *.eml)')

        print(f'filename: {filename}')