def executeProcess(self, processUrl, requestXml): self._processExecuted = False self.noFilesToFetch = 0 postData = QByteArray() postData.append(requestXml) scheme = processUrl.scheme() path = processUrl.path() server = processUrl.host() port = processUrl.port() processUrl.removeQueryItem('Request') processUrl.removeQueryItem('identifier') processUrl.removeQueryItem('Version') processUrl.removeQueryItem('Service') qDebug("Post URL=" + pystring(processUrl)) thePostHttp = QgsNetworkAccessManager.instance() request = QNetworkRequest(processUrl) request.setHeader(QNetworkRequest.ContentTypeHeader, "text/xml") # add cookies in header serverCookie = WpsServerCookie(processUrl) if serverCookie.checkServerCookies(): request.setRawHeader("Cookie", serverCookie.getServerCookies()) self.thePostReply = thePostHttp.post(request, postData) self.thePostReply.finished.connect( partial(self.resultHandler, self.thePostReply))
def executeProcess(self, processUrl, requestXml): self._processExecuted = False self.noFilesToFetch = 0 postData = QByteArray() postData.append(requestXml) scheme = processUrl.scheme() path = processUrl.path() server = processUrl.host() port = processUrl.port() processUrl.removeQueryItem('Request') processUrl.removeQueryItem('identifier') processUrl.removeQueryItem('Version') processUrl.removeQueryItem('Service') qDebug("Post URL=" + pystring(processUrl)) thePostHttp = QgsNetworkAccessManager.instance() request = QNetworkRequest(processUrl) request.setHeader( QNetworkRequest.ContentTypeHeader, "text/xml" ) # add cookies in header serverCookie = WpsServerCookie(processUrl) if serverCookie.checkServerCookies(): request.setRawHeader("Cookie", serverCookie.getServerCookies()) self.thePostReply = thePostHttp.post(request, postData) self.thePostReply.finished.connect(partial(self.resultHandler, self.thePostReply) )
def _capabilitiesRequestFinished(self): # Receive the server capabilities XML if self._theReply.error() == 1: QMessageBox.information( None, '', QApplication.translate( "QgsWpsGui", "Connection Refused. Please check your Proxy-Settings")) pass # get the cookie information from http header cookies = self._theReply.header(QNetworkRequest.SetCookieHeader) serverCookie = WpsServerCookie(self._theReply.url()) if cookies is not None: serverCookie.setServerCookies(cookies) xmlString = self._theReply.readAll().data() self._theReply.deleteLater() self.doc = QtXml.QDomDocument() self.doc.setContent(xmlString, True) root = self.doc.documentElement() version = root.attribute("version") if version != "1.0.0": QMessageBox.information( None, QApplication.translate("QgsWps", "Only WPS Version 1.0.0 is supported"), xmlString) pass self.capabilitiesRequestFinished.emit()
def deleteServer(self, name): settings = QSettings() settings.beginGroup("WPS") baseUrl = pystring(settings.value(name + "/url")) settings.remove(name) settings.endGroup() # delete related cookies url = QUrl() url.setUrl(baseUrl) serverCookie = WpsServerCookie(url) serverCookie.removeServerCookies() self.dlg.initQgsWpsGui()
def _describeProcessFinished(self): # Receive the XML process description self.processUrl = self._theReply.url() self.processXML = self._theReply.readAll().data() # get the cookie information from http header cookies = self._theReply.header(QNetworkRequest.SetCookieHeader) serverCookie = WpsServerCookie(self.processUrl) if cookies is not None: QMessageBox.information(None, '', "the first time to use this server") serverCookie.setServerCookies(cookies) self._theReply.deleteLater() qDebug(self.processXML) self._parseProcessXML() self._requestExecuted = True self.describeProcessFinished.emit()
def requestDescribeProcess(self): """ Request process description """ self._requestExecuted = False self.doc = None self.inputs = [] self.outputs = [] url = self.requestUrl() myHttp = QgsNetworkAccessManager.instance() request = QNetworkRequest(url) # add cookies in header serverCookie = WpsServerCookie(url) if serverCookie.checkServerCookies(): request.setRawHeader("Cookie", serverCookie.getServerCookies()) self._theReply = myHttp.get(request) self._theReply.finished.connect(self._describeProcessFinished)
def requestCapabilities(self): """ Request server capabilities """ self.doc = None url = QUrl() if '?' in self.baseUrl: myRequest = "&Request=GetCapabilities&identifier=&Service=WPS&Version=" + self.version else: myRequest = "?Request=GetCapabilities&identifier=&Service=WPS&Version=" + self.version url.setUrl(self.baseUrl + myRequest) myHttp = QgsNetworkAccessManager.instance() request = QNetworkRequest(url) # add cookies in header serverCookie = WpsServerCookie(url) if serverCookie.checkServerCookies(): request.setRawHeader("Cookie", serverCookie.getServerCookies()) self._theReply = myHttp.get(request) self._theReply.finished.connect(self._capabilitiesRequestFinished)
def _capabilitiesRequestFinished(self): # Receive the server capabilities XML if self._theReply.error() == 1: QMessageBox.information(None, '', QApplication.translate("QgsWpsGui","Connection Refused. Please check your Proxy-Settings")) pass # get the cookie information from http header cookies = self._theReply.header(QNetworkRequest.SetCookieHeader) serverCookie = WpsServerCookie(self._theReply.url()) if cookies is not None: serverCookie.setServerCookies(cookies) xmlString = self._theReply.readAll().data() self._theReply.deleteLater() self.doc = QtXml.QDomDocument() self.doc.setContent(xmlString, True) root = self.doc.documentElement() version = root.attribute("version") if version != "1.0.0": QMessageBox.information(None, QApplication.translate("QgsWps","Only WPS Version 1.0.0 is supported"), xmlString) pass self.capabilitiesRequestFinished.emit()