11 import pathlib |
11 import pathlib |
12 |
12 |
13 from PyQt6.QtCore import QObject, QSettings, pyqtSignal, pyqtSlot |
13 from PyQt6.QtCore import QObject, QSettings, pyqtSignal, pyqtSlot |
14 from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest |
14 from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest |
15 |
15 |
|
16 from eric7.WebBrowser.Tools import WebBrowserTools |
16 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
17 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
17 |
18 |
18 |
19 |
19 class GreaseMonkeyDownloader(QObject): |
20 class GreaseMonkeyDownloader(QObject): |
20 """ |
21 """ |
80 if "// ==UserScript==" not in response: |
81 if "// ==UserScript==" not in response: |
81 self.error.emit() |
82 self.error.emit() |
82 return |
83 return |
83 |
84 |
84 if not self.__fileName: |
85 if not self.__fileName: |
85 from eric7.WebBrowser.Tools import WebBrowserTools |
|
86 |
|
87 filePath = os.path.join( |
86 filePath = os.path.join( |
88 self.__manager.scriptsDirectory(), |
87 self.__manager.scriptsDirectory(), |
89 WebBrowserTools.getFileNameFromUrl(self.__reply.url()), |
88 WebBrowserTools.getFileNameFromUrl(self.__reply.url()), |
90 ) |
89 ) |
91 self.__fileName = WebBrowserTools.ensureUniqueFilename(filePath) |
90 self.__fileName = WebBrowserTools.ensureUniqueFilename(filePath) |
130 if not name: |
129 if not name: |
131 name = "require.js" |
130 name = "require.js" |
132 elif not name.endswith(".js"): |
131 elif not name.endswith(".js"): |
133 name += ".js" |
132 name += ".js" |
134 filePath = os.path.join(self.__manager.requireScriptsDirectory(), name) |
133 filePath = os.path.join(self.__manager.requireScriptsDirectory(), name) |
135 from eric7.WebBrowser.Tools import WebBrowserTools |
|
136 |
|
137 self.__fileName = WebBrowserTools.ensureUniqueFilename(filePath, "{0}") |
134 self.__fileName = WebBrowserTools.ensureUniqueFilename(filePath, "{0}") |
138 if not pathlib.Path(self.__fileName).is_absolute(): |
135 if not pathlib.Path(self.__fileName).is_absolute(): |
139 self.__fileName = os.path.join( |
136 self.__fileName = os.path.join( |
140 self.__manager.requireScriptsDirectory(), self.__fileName |
137 self.__manager.requireScriptsDirectory(), self.__fileName |
141 ) |
138 ) |