def __scriptDownloaded(self): """ Private slot to handle the finished download of a script. """ if self.sender() != self.__reply: self.finished.emit() return response = bytes(self.__reply.readAll()).decode() if self.__reply.error() == QNetworkReply.NoError and \ "// ==UserScript==" in response: from Helpviewer import HelpUtilities filePath = os.path.join( self.__manager.scriptsDirectory(), HelpUtilities.getFileNameFromUrl(self.__reply.url())) self.__fileName = HelpUtilities.ensureUniqueFilename(filePath) try: f = open(self.__fileName, "w", encoding="utf-8") except (IOError, OSError) as err: E5MessageBox.critical( None, self.tr("GreaseMonkey Download"), self.tr( """<p>The file <b>{0}</b> could not be opened""" """ for writing.<br/>Reason: {1}</p>""").format( self.__fileName, str(err))) self.finished.emit() return f.write(response) f.close() settings = QSettings( os.path.join(self.__manager.requireScriptsDirectory(), "requires.ini"), QSettings.IniFormat) settings.beginGroup("Files") rx = QRegExp("@require(.*)\\n") rx.setMinimal(True) rx.indexIn(response) for i in range(1, rx.captureCount() + 1): url = rx.cap(i).strip() if url and not settings.contains(url): self.__requireUrls.append(QUrl(url)) self.__reply.deleteLater() self.__reply = None self.__downloadRequires()
def __scriptDownloaded(self): """ Private slot to handle the finished download of a script. """ if self.sender() != self.__reply: self.finished.emit() return response = bytes(self.__reply.readAll()).decode() if self.__reply.error() == QNetworkReply.NoError and \ "// ==UserScript==" in response: from Helpviewer import HelpUtilities filePath = os.path.join( self.__manager.scriptsDirectory(), HelpUtilities.getFileNameFromUrl(self.__reply.url())) self.__fileName = HelpUtilities.ensureUniqueFilename(filePath) try: f = open(self.__fileName, "w", encoding="utf-8") except (IOError, OSError) as err: E5MessageBox.critical( None, self.tr("GreaseMonkey Download"), self.tr("""<p>The file <b>{0}</b> could not be opened""" """ for writing.<br/>Reason: {1}</p>""").format( self.__fileName, str(err))) self.finished.emit() return f.write(response) f.close() settings = QSettings( os.path.join(self.__manager.requireScriptsDirectory(), "requires.ini"), QSettings.IniFormat) settings.beginGroup("Files") rx = QRegExp("@require(.*)\\n") rx.setMinimal(True) rx.indexIn(response) for i in range(1, rx.captureCount() + 1): url = rx.cap(i).strip() if url and not settings.contains(url): self.__requireUrls.append(QUrl(url)) self.__reply.deleteLater() self.__reply = None self.__downloadRequires()