eric6/WebBrowser/Download/DownloadItem.py

branch
maintenance
changeset 7286
7eb04391adf7
parent 6989
8b8cadf8d7e9
parent 7268
a28338eaf694
child 7362
028bf21bb5a2
diff -r babe80d84a3e -r 7eb04391adf7 eric6/WebBrowser/Download/DownloadItem.py
--- a/eric6/WebBrowser/Download/DownloadItem.py	Mon Sep 09 18:52:08 2019 +0200
+++ b/eric6/WebBrowser/Download/DownloadItem.py	Thu Oct 03 11:12:10 2019 +0200
@@ -7,12 +7,12 @@
 Module implementing a widget controlling a download.
 """
 
-from __future__ import unicode_literals
 
 import os
 
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, PYQT_VERSION, Qt, QTime, QUrl, \
-    QStandardPaths, QFileInfo, QDateTime
+from PyQt5.QtCore import (
+    pyqtSlot, pyqtSignal, Qt, QTime, QUrl, QStandardPaths, QFileInfo, QDateTime
+)
 from PyQt5.QtGui import QPalette, QDesktopServices
 from PyQt5.QtWidgets import QWidget, QStyle, QDialog
 from PyQt5.QtWebEngineWidgets import QWebEngineDownloadItem
@@ -26,8 +26,6 @@
 
 import UI.PixmapCache
 import Utilities.MimeTypes
-import Globals
-from Globals import qVersionTuple
 
 
 class DownloadItem(QWidget, Ui_DownloadItem):
@@ -124,8 +122,10 @@
         self.datetimeLabel.hide()
         self.infoLabel.clear()
         self.progressBar.setValue(0)
-        if self.__downloadItem.state() == \
-           QWebEngineDownloadItem.DownloadRequested:
+        if (
+            self.__downloadItem.state() ==
+            QWebEngineDownloadItem.DownloadRequested
+        ):
             self.__getFileName()
             if not self.__fileName:
                 self.__downloadItem.cancel()
@@ -143,20 +143,15 @@
         if self.__gettingFileName:
             return
         
-        if qVersionTuple() >= (5, 8, 0) and PYQT_VERSION >= 0x50800:
-            savePage = self.__downloadItem.type() == \
-                QWebEngineDownloadItem.SavePage
-        elif qVersionTuple() >= (5, 7, 0) and PYQT_VERSION >= 0x50700:
-            savePage = self.__downloadItem.savePageFormat() != \
-                QWebEngineDownloadItem.UnknownSaveFormat
-        else:
-            savePage = self.__downloadItem.path().lower().endswith(
-                (".mhtml", ".mht"))
+        savePage = self.__downloadItem.type() == (
+            QWebEngineDownloadItem.SavePage
+        )
         
         documentLocation = QStandardPaths.writableLocation(
             QStandardPaths.DocumentsLocation)
-        downloadDirectory = WebBrowserWindow\
-            .downloadManager().downloadDirectory()
+        downloadDirectory = (
+            WebBrowserWindow.downloadManager().downloadDirectory()
+        )
         
         if self.__fileName:
             fileName = self.__fileName
@@ -164,9 +159,8 @@
             self.__toDownload = True
             ask = False
         else:
-            defaultFileName, originalFileName = \
-                self.__saveFileName(
-                    documentLocation if savePage else downloadDirectory)
+            defaultFileName, originalFileName = self.__saveFileName(
+                documentLocation if savePage else downloadDirectory)
             fileName = defaultFileName
             self.__originalFileName = originalFileName
             ask = True
@@ -207,8 +201,10 @@
             
             tempLocation = QStandardPaths.writableLocation(
                 QStandardPaths.TempLocation)
-            fileName = tempLocation + '/' + \
+            fileName = (
+                tempLocation + '/' +
                 QFileInfo(fileName).completeBaseName()
+            )
             
             if ask and not self.__autoOpen:
                 self.__gettingFileName = True
@@ -218,50 +214,6 @@
                     defaultFileName,
                     "")
                 self.__gettingFileName = False
-        else:
-            # save page file name and format selection for Qt < 5.8.0
-            self.__autoOpen = False
-            
-            filterList = [
-                self.tr("Web Archive (*.mhtml *.mht)"),
-                self.tr("HTML File (*.html *.htm)"),
-                self.tr("HTML File with all resources (*.html *.htm)"),
-            ]
-            extensionsList = [
-                # tuple of extensions for *nix and Windows
-                # keep in sync with filters list
-                (".mhtml", ".mht"),
-                (".html", ".htm"),
-                (".html", ".htm"),
-            ]
-            self.__gettingFileName = True
-            fileName, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
-                None,
-                self.tr("Save Web Page"),
-                defaultFileName,
-                ";;".join(filterList),
-                None)
-            self.__gettingFileName = False
-            if fileName:
-                index = filterList.index(selectedFilter)
-                if index == 0:
-                    self.__downloadItem.setSavePageFormat(
-                        QWebEngineDownloadItem.MimeHtmlSaveFormat)
-                elif index == 1:
-                    self.__downloadItem.setSavePageFormat(
-                        QWebEngineDownloadItem.SingleHtmlSaveFormat)
-                else:
-                    self.__downloadItem.setSavePageFormat(
-                        QWebEngineDownloadItem.CompleteHtmlSaveFormat)
-                extension = os.path.splitext(fileName)[1]
-                if not extension:
-                    # add the platform specific default extension
-                    if Globals.isWindowsPlatform():
-                        extensionsIndex = 1
-                    else:
-                        extensionsIndex = 0
-                    extensions = extensionsList[index]
-                    fileName += extensions[extensionsIndex]
         
         if not fileName:
             self.progressBar.setVisible(False)
@@ -283,8 +235,8 @@
         @type str
         """
         fileInfo = QFileInfo(fileName)
-        WebBrowserWindow.downloadManager()\
-            .setDownloadDirectory(fileInfo.absoluteDir().absolutePath())
+        WebBrowserWindow.downloadManager().setDownloadDirectory(
+            fileInfo.absoluteDir().absolutePath())
         self.filenameLabel.setText(fileInfo.fileName())
         
         self.__fileName = fileName
@@ -483,21 +435,25 @@
             if bytesTotal > 0:
                 remaining = timeString(timeRemaining)
             
-            info = self.tr("{0} of {1} ({2}/sec) {3}")\
-                .format(
-                    dataString(self.__bytesReceived),
-                    bytesTotal == -1 and self.tr("?") or
-                    dataString(bytesTotal),
-                    speedString(speed),
-                    remaining)
+            info = self.tr(
+                "{0} of {1} ({2}/sec) {3}"
+            ).format(
+                dataString(self.__bytesReceived),
+                bytesTotal == -1 and self.tr("?") or
+                dataString(bytesTotal),
+                speedString(speed),
+                remaining
+            )
         else:
             if self.__bytesReceived == bytesTotal or bytesTotal == -1:
-                info = self.tr("{0} downloaded")\
-                    .format(dataString(self.__bytesReceived))
+                info = self.tr(
+                    "{0} downloaded"
+                ).format(dataString(self.__bytesReceived))
             else:
-                info = self.tr("{0} of {1} - Stopped")\
-                    .format(dataString(self.__bytesReceived),
-                            dataString(bytesTotal))
+                info = self.tr(
+                    "{0} of {1} - Stopped"
+                ).format(dataString(self.__bytesReceived),
+                         dataString(bytesTotal))
         self.infoLabel.setText(info)
     
     def downloading(self):

eric ide

mercurial