eric7/WebBrowser/Bookmarks/BookmarksManager.py

branch
eric7
changeset 9153
506e35e424d5
parent 8881
54e42bc2437a
diff -r 8a68afaf1ba2 -r 506e35e424d5 eric7/WebBrowser/Bookmarks/BookmarksManager.py
--- a/eric7/WebBrowser/Bookmarks/BookmarksManager.py	Thu Jun 16 18:28:59 2022 +0200
+++ b/eric7/WebBrowser/Bookmarks/BookmarksManager.py	Fri Jun 17 16:36:14 2022 +0200
@@ -9,10 +9,11 @@
 
 import os
 import contextlib
+import pathlib
 
 from PyQt6.QtCore import (
     pyqtSignal, QT_TRANSLATE_NOOP, QObject, QFile, QIODevice, QXmlStreamReader,
-    QDateTime, QFileInfo, QUrl, QCoreApplication
+    QDateTime, QUrl, QCoreApplication
 )
 from PyQt6.QtGui import QUndoStack, QUndoCommand
 from PyQt6.QtWidgets import QDialog
@@ -398,25 +399,24 @@
         if not fileName:
             return
         
-        ext = QFileInfo(fileName).suffix()
-        if not ext:
+        fpath = pathlib.Path(fileName)
+        if not fpath.suffix:
             ex = selectedFilter.split("(*")[1].split(")")[0]
             if ex:
-                fileName += ex
+                fpath = fpath.with_suffix(ex)
         
-        ext = QFileInfo(fileName).suffix()
-        if ext == "html":
+        if fpath.suffix == ".html":
             from .NsHtmlWriter import NsHtmlWriter
             writer = NsHtmlWriter()
         else:
             from .XbelWriter import XbelWriter
             writer = XbelWriter()
-        if not writer.write(fileName, self.__bookmarkRootNode):
+        if not writer.write(str(fpath), self.__bookmarkRootNode):
             EricMessageBox.critical(
                 None,
                 self.tr("Exporting Bookmarks"),
                 self.tr("""Error exporting bookmarks to <b>{0}</b>.""")
-                .format(fileName))
+                .format(fpath))
     
     def faviconChanged(self, url):
         """

eric ide

mercurial