def __dataRequest(self, page, client_id, client_secret, date_from, date_to, polygon): if not self.isAuthorized(): self.authRequest(client_id, client_secret, page, date_from, date_to, polygon) return print("page=", page) # print("accessTokenExpires=", self.__accessTokenExpires.toString(Qt.ISODate)) date_format = "yyyy-MM-ddThh:mm" url = QUrl(THERMAL_ANOMALY_URL) url_query = QUrlQuery() if polygon is not None: url_query.addQueryItem("polygon", polygon) if date_from is not None: url_query.addQueryItem("shooting", "ge" + date_from.toString(date_format)) if date_to is not None: url_query.addQueryItem("shooting", "le" + date_to.toString(date_format)) # _take=1000&_skip=0&_lastUpdated=ge2020-04-08T00%3A00%3A00 url_query.addQueryItem("_take", str(TAKE)) url_query.addQueryItem("_skip", str(page * TAKE).zfill(1)) # url.setQuery(url_query) print(url_query.queryItems()) request = QtNetwork.QNetworkRequest() request.setRawHeader(b'Authorization', ('Bearer ' + self.__accessToken).encode()) request.setHeader(QNetworkRequest.ContentTypeHeader, "application/json".encode()) request.setUrl(url) # print("request: ", url) self.dataReply = self.__manager.post(request, url_query.toString(QUrl.FullyEncoded).encode()) self.dataReply.finished.connect(lambda dr=self.dataReply: self.__data_request_finished(dr, client_id, client_secret, date_from, date_to, polygon))
def handle_form_submitted(self, qurl, elements=dict()): # print("\n\ngot url: ", qurl) qqurl = QUrlQuery(qurl) for key, value in qqurl.queryItems(): elements[key] = value self.render(qurl.path(), elements)
def link_clicked(self, qurl): # print("link_clicked ->: ", qurl) qqurl = QUrlQuery(qurl) elements = {} # print("got link_clicked url: ", qurl) for key, value in qqurl.queryItems(): elements[key] = value self.render(qurl.path(), elements)
def parse_url(self, url): self.url = QUrl(url) self.host = self.url.host() self.port = self.url.port(443 if self.url.scheme() == 'https' else 80) self.path = self.url.path(QUrl.FullyEncoded) if self.url.hasQuery(): query = QUrlQuery(self.url.query()) self.queryargs = dict(query.queryItems()) else: self.queryargs = None
def wrapper(SELF, request): # Looking for Pid in query string, try matching with locally bound peerid localPeerId = app.xwaredpy.peerId if not localPeerId: return request urlQuery = QUrlQuery(request.url()) queryItems = dict(urlQuery.queryItems()) if queryItems.get("pid", None) != localPeerId: return request return func(SELF, request)
def _preprocess_request_bind(request): # set boxName when binding the device to hostname urlQuery = QUrlQuery(request.url()) queryItems = urlQuery.queryItems() for i, item in enumerate(queryItems): if item[0] == "boxName": queryItems[i] = ("boxName", os.uname().nodename) urlQuery.setQueryItems(queryItems) # write changes back to request qurl = request.url() qurl.setQuery(urlQuery) request.setUrl(qurl) return request
def sendPostData(url, data): """ Function generating a script to send Post data. @param url URL to send the data to @type QUrl @param data data to be sent @type QByteArray @return script to send Post data @rtype str """ source = """ (function() {{ var form = document.createElement('form'); form.setAttribute('method', 'POST'); form.setAttribute('action', '{0}'); var val; {1} form.submit(); }})()""" valueSource = """ val = document.createElement('input'); val.setAttribute('type', 'hidden'); val.setAttribute('name', '{0}'); val.setAttribute('value', '{1}'); form.appendChild(val);""" values = "" query = QUrlQuery(data) for name, value in query.queryItems(QUrl.FullyDecoded): value = value.replace("'", "\\'") name = name.replace("'", "\\'") values += valueSource.format(name, value) return source.format(url.toString(), values)