def __accepted(self) -> None:
     """Use the file path to export the project."""
     qdir = QDir(_get_name(self.path_edit, ispath=True))
     if self.newfolder_option.isChecked():
         new_folder = self.filename_edit.placeholderText()
         if (not qdir.mkdir(new_folder)) and self.warn_radio.isChecked():
             self.exist_warning(new_folder, folder=True)
             return
         qdir.cd(new_folder)
     try:
         ok = self.do(qdir)
     except PermissionError as error:
         QMessageBox.warning(self, "Permission error", str(error))
     else:
         if ok:
             self.accept()
예제 #2
0
    def copyRecursively(self, src, tgt):
        src_info = QFileInfo(src)
        if src_info.isDir():
            tgt_dir = QDir(tgt)
            if not tgt_dir.mkdir(src_info.fileName()):
                return False
            src_dir = QDir(src)
            fnames = src_dir.entryList(QDir.Files | QDir.Dirs
                                       | QDir.NoDotAndDotDot | QDir.Hidden
                                       | QDir.System)
            for fname in fnames:
                new_src = os.path.join(src, fname)
                new_tgt = os.path.join(tgt, src_info.fileName())
                if not self.copyRecursively(new_src, new_tgt):
                    return False

        elif src_info.isFile():
            fname = src_info.fileName()
            if not QFile.copy(src, os.path.join(tgt, fname)):
                return False

        return True