eric7/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.py

branch
eric7
changeset 9152
8a68afaf1ba2
parent 9016
6f079c524e99
child 9153
506e35e424d5
--- a/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.py	Wed Jun 15 09:44:07 2022 +0200
+++ b/eric7/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.py	Thu Jun 16 18:28:59 2022 +0200
@@ -8,10 +8,11 @@
 """
 
 import os
+import pathlib
 import re
 import json
 
-from PyQt6.QtCore import QFileInfo, pyqtSlot, QProcess, QByteArray
+from PyQt6.QtCore import pyqtSlot, QProcess, QByteArray
 from PyQt6.QtGui import QClipboard, QTextCursor
 from PyQt6.QtWidgets import (
     QWidget, QDialog, QInputDialog, QApplication, QDialogButtonBox,
@@ -410,24 +411,23 @@
             None,
             EricFileDialog.DontConfirmOverwrite)
         if fname:
-            ext = QFileInfo(fname).suffix()
-            if not ext:
+            fpath = pathlib.Path(fname)
+            if not fpath.suffix:
                 ex = selectedFilter.split("(*")[1].split(")")[0]
                 if ex:
-                    fname += ex
-            if QFileInfo(fname).exists():
+                    fpath = fpath.with_suffix(ex)
+            if fpath.exists():
                 res = EricMessageBox.yesNo(
                     self,
                     self.tr("Save regular expression"),
                     self.tr("<p>The file <b>{0}</b> already exists."
-                            " Overwrite it?</p>").format(fname),
+                            " Overwrite it?</p>").format(str(fpath)),
                     icon=EricMessageBox.Warning)
                 if not res:
                     return
             
-            fname = Utilities.toNativeSeparators(fname)
             try:
-                with open(fname, "w", encoding="utf-8") as f:
+                with fpath.open("w", encoding="utf-8") as f:
                     f.write(self.regexpTextEdit.toPlainText())
             except OSError as err:
                 EricMessageBox.information(

eric ide

mercurial