コード例 #1
0
    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))
コード例 #2
0
    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) )
コード例 #3
0
    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()
コード例 #4
0
 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()
コード例 #5
0
 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()
コード例 #6
0
    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()
コード例 #7
0
    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()
コード例 #8
0
    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)
コード例 #9
0
    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)
コード例 #10
0
    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)
コード例 #11
0
    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()
コード例 #12
0
    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)