Esempio n. 1
0
    def getFileName(self, text, filter, filePath):
        """filter: [["Shapefile", "shp"], ["Keyhole Markup Language", "kml"]]"""
        filters = []
        for item in filter:
            filters.append("%s (*.%s)" % (item[0], item[1]))
        fileDlg = QFileDialog(self.iface.mainWindow())
        fileDlg.setNameFilters(filters)
        fileName, selectedFilter = fileDlg.getSaveFileName(self.iface.mainWindow(),
                                           text,
                                           filePath,
                                           ";;".join(filters)
                                           )
        QgsMessageLog.logMessage("selectedFilter: {0}".format(selectedFilter), "VoGis", Qgis.Info)

        #QgsMessageLog.logMessage("{0}".format(fileName), "VoGis", Qgis.Info)
        if fileName is None or fileName == "":
            return "", ""

        QgsMessageLog.logMessage("fileDlg.filters(): {0}".format(fileDlg.nameFilters()), "VoGis", Qgis.Info)
        selectedFilter = fileDlg.nameFilters().index(selectedFilter)
        fileExt = filter[selectedFilter][1]

        QgsMessageLog.logMessage("selectedFilter: {0}".format(selectedFilter), "VoGis", Qgis.Info)
        QgsMessageLog.logMessage("fileExt: {0}".format(fileExt), "VoGis", Qgis.Info)

        if fileName.lower().endswith(fileExt) is False:
            fileName = fileName + "." + fileExt
        return fileName, fileExt
Esempio n. 2
0
    def spi_calc_get_comp_file(self):
        dlgx = QFileDialog()
        dlgx.setFileMode(QFileDialog.AnyFile)
        dlgx.setNameFilters(["CSV files (*.csv)"])
        #dlgx.setFilter("CSV files (*.csv)")

        if dlgx.exec_():
            filenames = dlgx.selectedFiles()
            self.ui.lineEdit_15.setText(str(filenames[0]))
Esempio n. 3
0
    def data_prep_get_input_ppt_file(self):
        dlgx = QFileDialog()
        dlgx.setFileMode(QFileDialog.AnyFile)
        dlgx.setNameFilters(["CSV files (*.csv)"])
        #dlgx.setFilter("CSV files (*.csv)")

        if dlgx.exec_():
            filenames = dlgx.selectedFiles()
            self.ui.lineEdit_10.setText(str(filenames[0]))
    def uploadHeader(self):
        """Import header from ASCII or TXT file.

        This function open a QFileDialog() to select and open an ASC file.
        The beginning of this file (ie. the header) is parsed to get value and
        to fill corresponding widget parameter value.
        The goal is to automate the filling of the parameters to improve
        the user experience

        Example of file header:
        ```
        ncols 144
        nrows 138
        xllcorner 312487.6891250734
        yllcorner 2397321.4964859663
        cellsize 10.0
        NODATA_value -1
        ```
        """

        # Select the file with a QFileDialog()
        dlg = QFileDialog()
        dlg.setFileMode(QFileDialog.AnyFile)
        #dlg.setFilter("ASC File (*.asc);; TXT File (*.txt);;All File (*.*)")
        dlg.setNameFilters(
            ["All File (*.*)", "ASC File (*.asc)", "TXT File (*.txt)"])
        dlg.selectNameFilter("All File (*.*)")
        filenames = ''
        if dlg.exec_():
            filenames = dlg.selectedFiles()
        if filenames != '':
            # Open the file and parse header data
            with open(str(filenames[0]), 'r') as infile:
                for line in infile:
                    values = line.strip().split(' ')
                    if values[0] == "ncols":
                        ChloeUtils.wrapperSetValue(self.wrappers["N_COLS"],
                                                   int(values[1]))
                    elif values[0] == "nrows":
                        ChloeUtils.wrapperSetValue(self.wrappers["N_ROWS"],
                                                   float(values[1]))
                    elif values[0] == "xllcorner":
                        ChloeUtils.wrapperSetValue(self.wrappers["XLL_CORNER"],
                                                   float(values[1]))
                    elif values[0] == "yllcorner":
                        ChloeUtils.wrapperSetValue(self.wrappers["YLL_CORNER"],
                                                   float(values[1]))
                    elif values[0] == "cellsize":
                        ChloeUtils.wrapperSetValue(self.wrappers["CELL_SIZE"],
                                                   float(values[1]))
                    elif values[0] == "NODATA_value":
                        ChloeUtils.wrapperSetValue(
                            self.wrappers["NODATA_VALUE"], int(values[1]))
                    else:
                        break
Esempio n. 5
0
 def saveDataToFile(self, data: List[List[Any]]) -> None:
     """
     Write data to a  file.
     """
     file_window = QFileDialog()
     file_window.setAcceptMode(1)
     file_window.setDefaultSuffix('csv')
     file_window.setNameFilters(['CSV Files (*.csv)', 'All Files (*)'])
     if file_window.exec_() == 0:
         return
     file_name = file_window.selectedFiles()[0]
     csv_file = open(file_name, 'wt')
     csv_writer = csv.writer(csv_file, delimiter=',')
     for i in data:
         csv_writer.writerow([x for x in i])
     csv_file.close()
Esempio n. 6
0
def GetOutputFileName(clss, box_name, file_types, default_type, start_path):
    dlg = QFileDialog(clss)
    dlg.setDirectory(start_path)
    dlg.setWindowTitle(box_name)
    dlg.setViewMode(QFileDialog.Detail)
    a = []
    for i in file_types:
        a.append(clss.tr(i))
    dlg.setNameFilters(a)
    dlg.setDefaultSuffix(default_type)
    new_name = None
    extension = None
    if dlg.exec_():
        new_name = dlg.selectedFiles()[0]
        new_name = new_name.replace("..", ".")
        if new_name[-4] == ".":
            extension = new_name[-3:]
        else:
            extension = new_name[-4:]
    return new_name, extension