def __downloadRequires(self): """ Private slot to initiate the download of required scripts. """ if self.__requireUrls: self.__reply = FollowRedirectReply( self.__requireUrls.pop(0), Helpviewer.HelpWindow.HelpWindow.networkAccessManager()) self.__reply.finished.connect(self.__requireDownloaded) else: from .GreaseMonkeyScript import GreaseMonkeyScript deleteScript = True script = GreaseMonkeyScript(self.__manager, self.__fileName) if script.isValid(): if not self.__manager.containsScript(script.fullName()): from .GreaseMonkeyAddScriptDialog import \ GreaseMonkeyAddScriptDialog dlg = GreaseMonkeyAddScriptDialog(self.__manager, script) deleteScript = dlg.exec_() != QDialog.Accepted else: E5MessageBox.information( None, self.tr("GreaseMonkey Download"), self.tr("""<p><b>{0}</b> is already installed.</p>"""). format(script.name())) if deleteScript: try: os.remove(self.__fileName) except (IOError, OSError): # ignore pass self.finished.emit()
def __init__(self, request, manager): """ Constructor @param request reference to the request object (QNetworkRequest) @param manager reference to the GreaseMonkey manager (GreaseMonkeyManager) """ super(GreaseMonkeyDownloader, self).__init__() self.__manager = manager self.__reply = FollowRedirectReply( request.url(), Helpviewer.HelpWindow.HelpWindow.networkAccessManager()) self.__reply.finished.connect(self.__scriptDownloaded) self.__fileName = "" self.__requireUrls = []
def updateNow(self): """ Public method to update the subscription immediately. """ if self.__downloading is not None: return if not self.location().isValid(): return if self.location().scheme() == "file": self.__lastUpdate = QDateTime.currentDateTime() self.__loadRules() return import Helpviewer.HelpWindow from Helpviewer.Network.FollowRedirectReply import FollowRedirectReply self.__downloading = FollowRedirectReply( self.location(), Helpviewer.HelpWindow.HelpWindow.networkAccessManager()) self.__downloading.finished.connect(self.__rulesDownloaded)