Exemple #1
0
def download_nodes_list():
    url = 'https://nodes.tox.chat/json'
    s = settings.Settings.get_instance()
    if not s['download_nodes_list']:
        return

    if not s['proxy_type']:  # no proxy
        try:
            req = urllib.request.Request(url)
            req.add_header('Content-Type', 'application/json')
            response = urllib.request.urlopen(req)
            result = response.read()
            save_nodes(result)
        except Exception as ex:
            log('TOX nodes loading error: ' + str(ex))
    else:  # proxy
        netman = QtNetwork.QNetworkAccessManager()
        proxy = QtNetwork.QNetworkProxy()
        proxy.setType(QtNetwork.QNetworkProxy.Socks5Proxy if s['proxy_type'] ==
                      2 else QtNetwork.QNetworkProxy.HttpProxy)
        proxy.setHostName(s['proxy_host'])
        proxy.setPort(s['proxy_port'])
        netman.setProxy(proxy)
        try:
            request = QtNetwork.QNetworkRequest()
            request.setUrl(QtCore.QUrl(url))
            reply = netman.get(request)

            while not reply.isFinished():
                QtCore.QThread.msleep(1)
                QtCore.QCoreApplication.processEvents()
            data = bytes(reply.readAll().data())
            save_nodes(data)
        except Exception as ex:
            log('TOX nodes loading error: ' + str(ex))
Exemple #2
0
    def onTimer(self):
        timeStr = Time(datetime.utcnow(), scale='utc').iso.split('.')[0]
        self.curTime.setText(timeStr.split(" ")[1])
        #print('write ' + timeStr.split(" ")[1])
        dateStr = Time(datetime.utcnow(), scale='utc').iso.split(' ')[0]
        self.curDate.setText(dateStr)
        if (self.cmd < 200):
            self.cmd = 200
        else:
            self.cmd = 100
            self.SendTimePacket()

        self.SrhAntSocket.writeDatagram(
            QtCore.QByteArray(
                struct.pack('!16sHHHLL', b'_Srh_Net_Packet_', 0,
                            self.cmd, 0, 0, 0)),
            QtNetwork.QHostAddress('192.168.0.168'), 9998)

        testSocket = QtNetwork.QTcpSocket()
        testSocket.connectToHost('192.168.0.1', 80)
        if testSocket.waitForConnected() == True:
            self.Network.setPixmap(self.greenBox)
        else:
            self.Network.setPixmap(self.redBox)
        testSocket.close()
    def connect_client(self):
        self.logger.debug("Client connection initializer called")
        if self.sock.state() != QtNetwork.QAbstractSocket.ConnectedState:
            # Get the host and port from the settings file for the client connection
            host = self.cfg_data.get_tcp_client_host()
            port = self.cfg_data.get_tcp_client_port()

            self.sock = QtNetwork.QTcpSocket()  # Create the TCP socket
            self.sock.readyRead.connect(self._receive)  # Data que signal
            self.sock.connected.connect(
                self._host_connected)  # What to do when we have connected
            self.sock.error.connect(
                self._error
            )  # Log any error occurred and also perform the necessary actions
            self.sock.disconnected.connect(
                self._disconnected
            )  # If there is state change then call the function

            self.conStatSigC.emit(
                "Connecting")  # Indicate that we are attempting a connection
            self.sock.connectToHost(
                QtNetwork.QHostAddress(host),
                int(port))  # Attempt to connect to the server

            if not self.sock.waitForConnected(
                    msecs=1000
            ):  # Wait a until connected (the function is waiting for 1 sec)
                self.conStatSigC.emit(
                    "Disconnected")  # Indicate that we are not connected
                self.logger.warning("Client was unable to connect to: %s:%s",
                                    host, port)
Exemple #4
0
    def forward(self, alarm):
        data = None
        if alarm.source == 'pager':
            data = alarm.pager.encode('utf-8')
            socket = QtNetwork.QUdpSocket()

            for host, addr, port in self.hosts:
                self.logger.info('Forwarding to %s (%s:%u/udp)', host,
                                 addr.toString(), port)
                socket.writeDatagram(data, addr, port)

        elif alarm.source == 'xml':
            data = alarm.xml  # bytes
            socket = QtNetwork.QTcpSocket()

            for host, addr, port in self.hosts:
                self.logger.info('Forwarding to %s (%s:%u/tcp)', host,
                                 addr.toString(), port)
                socket.connectToHost(addr, port)
                if not socket.waitForConnected(5000):
                    self.logger.error('Connection failed.')
                    continue
                socket.writeData(data)
                if not socket.waitForBytesWritten(5000):
                    self.logger.error('Writing to socket failed.')
                socket.close()
    def __init__(self, id, *argv):

        super(QtSingleApplication, self).__init__(*argv)
        self._id = id
        self._activationWindow = None
        self._activateOnMessage = False

        # Is there another instance running?
        self._outSocket = QtNetwork.QLocalSocket()
        self._outSocket.connectToServer(self._id)
        self._isRunning = self._outSocket.waitForConnected()

        if self._isRunning:
            # Yes, there is.
            self._outStream = QtCore.QTextStream(self._outSocket)
            self._outStream.setCodec('UTF-8')
        else:
            # No, there isn't.
            self._outSocket = None
            self._outStream = None
            self._inSocket = None
            self._inStream = None
            self._server = QtNetwork.QLocalServer()
            self._server.listen(self._id)
            self._server.newConnection.connect(self._onNewConnection)
Exemple #6
0
 def run(self):
     '''This starts the thread running, but it must not be called directly,
        it must be started with Server.start() instead for it to be started
        in its own thread. If it is called directly then it will run in 
        the thread in which it was called.'''
     self.debug = False
     self.lock = False
     for i in QtNetwork.QNetworkInterface.allAddresses():
         print("Found Address:", i.toString())
         if i != QtNetwork.QHostAddress.LocalHost and i.protocol() == QtNetwork.QAbstractSocket.IPv4Protocol:
             self.address = i
             break
     # This determines the IP adress of the server
     self.tcpServer = QtNetwork.QTcpServer(self)
     self.tcpServer.listen(QtNetwork.QHostAddress("0.0.0.0"), self.port)
     # Listen on all addreses on the specified port only
     self.tcpServer.newConnection.connect(self.addConnection)
     # Call self.addConnection whenever the server signals that there is a new inbound connection
     print("Server Initialised")
     self.constantTimer = QtCore.QTimer()
     self.constantTimer.timeout.connect(self.checkQueue)
     self.constantTimer.start(1)
     print("Server Checking Queue")
     # Integrate the checkQueue function into the QT event loop, with
     # a delay between calls of 1 millisecond
     self.receiveQueue.put({"action":"showAddress", "port":self.port, "address":self.address, "client":"thread"})
Exemple #7
0
    def make_request(self, url, data, filename):
        print(f"Making request to {url}")
        # Create the request object
        self.request = qtn.QNetworkRequest(url)

        # create the multipart object
        self.multipart = qtn.QHttpMultiPart(qtn.QHttpMultiPart.FormDataType)

        # Write the key-value data to the multipart
        json_string = json.dumps(data)
        http_part = qtn.QHttpPart()
        http_part.setHeader(qtn.QNetworkRequest.ContentTypeHeader, 'text/json')
        http_part.setBody(json_string.encode('utf-8'))
        self.multipart.append(http_part)

        # Write the file data to the multipart
        if filename:
            file_part = qtn.QHttpPart()
            filedata = open(filename, 'rb').read()
            file_part.setHeader(
                qtn.QNetworkRequest.ContentDispositionHeader,
                f'form-data; name="attachment"; filename="{filename}"')
            file_part.setBody(filedata)
            self.multipart.append(file_part)

        # Post the request with the form data
        self.nam.post(self.request, self.multipart)
Exemple #8
0
    def checkWeather(self):

        self.nam = QtNetwork.QNetworkAccessManager()
        self.nam.finished.connect(self.handleResponse)

        req = QtNetwork.QNetworkRequest(self.url)
        self.nam.get(req)
Exemple #9
0
    def __init__(self, parent=None):
        super(ServerDlg, self).__init__("&Close Server", parent)
        self.setWindowFlags(QC.Qt.WindowStaysOnTopHint)

        self.tcpServer = QN.QTcpServer(self)

        #Zjistím si svojí IP adresu
        for address in QN.QNetworkInterface.allAddresses():
            if address != QN.QHostAddress.LocalHost and address.toIPv4Address(
            ):
                break
        else:
            address = QN.QHostAddress.LocalHost

        #print(address.toString())

        self.tcpServer.listen(QN.QHostAddress("0.0.0.0"), PORT)  #Any address
        self.tcpServer.newConnection.connect(self.addConnection)
        self.connections = [None for _ in range(6)]
        self.connectionAddress = [None for _ in range(6)]
        self.players = {}

        self.clicked.connect(self.close)
        font = self.font()
        font.setPointSize(24)
        self.setFont(font)
        self.setWindowTitle("Server")
    def upload_file(file_to_upload, post_url, key, callback):
        """Method for uploading files to GIS Cloud"""
        zip_part = QtNetwork.QHttpPart()
        zip_part_content_disposition = QByteArray(
            'form-data; name="upfile"; filename="{}"'.format(
                os.path.basename(file_to_upload)).encode('utf-8'))
        zip_part.setHeader(QtNetwork.QNetworkRequest.ContentTypeHeader,
                           QByteArray(b'application/json'))
        zip_part.setHeader(QtNetwork.QNetworkRequest.ContentDispositionHeader,
                           zip_part_content_disposition)

        file_handler = QFile(file_to_upload)
        file_handler.open(QIODevice.ReadOnly)
        zip_part.setBodyDevice(file_handler)

        multi_part = QtNetwork.QHttpMultiPart(
            QtNetwork.QHttpMultiPart.FormDataType)
        file_handler.setParent(multi_part)
        multi_part.append(zip_part)

        request = QtNetwork.QNetworkRequest()
        request.setRawHeader(QByteArray(b'X-GIS-CLOUD-APP'),
                             GISCloudNetworkHandler.app_id.encode("utf-8"))
        result = GISCloudNetworkHandler.blocking_request(
            GISCloudNetworkHandler.POST, post_url, key, multi_part, request,
            callback)
        return result
Exemple #11
0
 def construct_multipart(self, data, files):
     multi_part = QtNetwork.QHttpMultiPart(
         QtNetwork.QHttpMultiPart.FormDataType)
     for key, value in data.items():
         post_part = QtNetwork.QHttpPart()
         post_part.setHeader(
             QtNetwork.QNetworkRequest.ContentDispositionHeader,
             "form-data; name=\"{}\"".format(key))
         post_part.setBody(str(value).encode())
         multi_part.append(post_part)
     for field, filepath in files.items():
         if filepath:
             file = QFile(filepath)
             if not file.open(QIODevice.ReadOnly):
                 break
             post_part = QtNetwork.QHttpPart()
             post_part.setHeader(
                 QtNetwork.QNetworkRequest.ContentDispositionHeader,
                 "form-data; name=\"{}\"; filename=\"{}\"".format(
                     field, file.fileName()))
             post_part.setBodyDevice(file)
             file.setParent(multi_part)
             multi_part.append(post_part)
         else:
             break
     return multi_part
 def check_for_updates(self):
     if self.checkBox_UpdateCheck.isChecked():
         print("check for updates")
         update_key = self.updateKey.displayText()
         if len(update_key) == 50:
             data = QUrlQuery()
             data.addQueryItem("update_key", update_key)
             data.addQueryItem("product", "OnAirScreen")
             data.addQueryItem("current_version", versionString)
             data.addQueryItem("distribution", distributionString)
             data.addQueryItem("mac", self.get_mac())
             data.addQueryItem(
                 "include_beta",
                 f'{self.checkBox_IncludeBetaVersions.isChecked()}')
             req = QtNetwork.QNetworkRequest(QUrl(update_url))
             req.setHeader(QtNetwork.QNetworkRequest.ContentTypeHeader,
                           "application/x-www-form-urlencoded")
             self.nam_update_check = QtNetwork.QNetworkAccessManager()
             self.nam_update_check.finished.connect(
                 self.handle_update_check_response)
             self.nam_update_check.post(
                 req,
                 data.toString(QUrl.FullyEncoded).encode("UTF-8"))
         else:
             print("error, update key in wrong format")
             self.error_dialog = QErrorMessage()
             self.error_dialog.setWindowTitle("Update Check Error")
             self.error_dialog.showMessage(
                 'Update key is in the wrong format!', 'UpdateKeyError')
Exemple #13
0
 def retrieve_latest_version(self):
     ''' return latest version from server '''
     req = QtNetwork.QNetworkRequest(QtCore.QUrl(self.__url))
     self.__qnam = QtNetwork.QNetworkAccessManager()
     self.__res = self.__qnam.get(req)
     self.__res.finished.connect(self.processRes)
     self.__res.error.connect(self.processErr)
 def makeOWMApiCall(self):
     print("OWM API Call")
     url = "https://api.openweathermap.org/data/2.5/weather?id=" + self.owmCityID + "&units=" + self.owmUnit + "&lang=" + self.owmLanguage + "&appid=" + self.owmAPIKey
     req = QtNetwork.QNetworkRequest(QtCore.QUrl(url))
     self.nam = QtNetwork.QNetworkAccessManager()
     self.nam.finished.connect(self.handleOWMResponse)
     self.nam.get(req)
Exemple #15
0
 def updstartup(self):
     self.udprecvcnt = 0
     self.udpsendcnt = 0
     self.socket = QtNetwork.QUdpSocket()
     self.socket.bind(QtNetwork.QHostAddress(""), 6000)
     self.socket.readyRead.connect(self.recvudp)
     log.debug("Connected to socket, waiting for udp stream", extra = log.HST)
Exemple #16
0
def test_startCommunication_3():
    app.tcpServer = None
    server = QtNetwork.QTcpServer(app)
    hostAddress = QtNetwork.QHostAddress('127.0.0.1')
    server.listen(hostAddress, 3490)
    suc = app.startCommunication()
    assert not suc
Exemple #17
0
    def __init__(self):
        """Initialize"""
        super().__init__()
        self.server = qtn.QTcpServer()
        self.sock = qtn.QTcpSocket(self.server)
        # if self.server.listen(qtn.QHostAddress(self.ip), self.s):
        if self.server.listen(qtn.QHostAddress.LocalHost, self.s):
            print(
                f'DATA SERVER:\n\tAddress: {self.server.serverAddress().toString()}\n\tPort: {str(self.server.serverPort())}'
            )
        else:
            print('ERROR!!!!')
            exit()
        self.server.newConnection.connect(self.__session)

        f = open('key.bin', 'rb')

        self.key = f.read()

        f.close()

        self.f = Fernet(self.key)

        del self.key

        # set your properties
        self.db = mysql.connector.connect(host='localhost',
                                          user='******',
                                          passwd='password',
                                          database='login_data',
                                          auth_plugin='mysql_native_password')

        self.mycursor = self.db.cursor()
Exemple #18
0
    def doRequest(self):

        url = "http://www.something.com"
        req = QtNetwork.QNetworkRequest(QtCore.QUrl(url))

        self.nam = QtNetwork.QNetworkAccessManager()
        self.nam.finished.connect(self.handleResponse)
        self.nam.get(req)
Exemple #19
0
    def doRequest(self, license_code):
        print("Request started")

        req = QtNetwork.QNetworkRequest(QUrl(verification_url + license_code))

        self.nam = QtNetwork.QNetworkAccessManager()
        self.nam.finished.connect(self.handleResponse)
        self.nam.get(req)
Exemple #20
0
    def doRequest(self):

        url = 'http://webcode.me' # url to receive html from
        req = QtNetwork.QNetworkRequest(QUrl(url)) #request instance

        self.nam = QtNetwork.QNetworkAccessManager() # create the manager object
        self.nam.finished.connect(self.handleResponse) # handle response when requist is finished
        self.nam.get(req)
Exemple #21
0
Fichier : drc.py Projet : mb-89/drc
    def __init__(self, qtapp):
        super().__init__()
        self.qtapp = qtapp

        self.socket = QtNetwork.QUdpSocket()
        self.socket.bind(QtNetwork.QHostAddress(""), 6001)
        self.t1 = QtCore.QTimer(qtapp)
        self.t1.setInterval(10)
        self.t1.timeout.connect(self.sample)
    def doRequest(self):

        #url = "http://www.google.com"
        url = "https://oradocs-corp.documents.us2.oraclecloud.com/documents/"
        req = QtNetwork.QNetworkRequest(QUrl(url))

        self.nam = QtNetwork.QNetworkAccessManager()
        self.nam.finished.connect(self.handleResponse)
        self.nam.get(req)
Exemple #23
0
 def init_tcp(self, is_server, addr):
     if is_server:
         self.server = QtNetwork.QTcpServer(self)
         self.server.listen(QtNetwork.QHostAddress.Any, 8888)
         self.server.newConnection.connect(self.start_new_connection)
     else:
         self.socket = QtNetwork.QTcpSocket(self)
         self.socket.connectToHost(QtNetwork.QHostAddress(addr), 8888)
         self.socket.readyRead.connect(self.recv)
Exemple #24
0
 def startMultiplexer(self, address):
     if self.protocol() == 'unix':
         self.multiplexer = QtNetwork.QLocalSocket(self)
         self.multiplexer.connectToServer(address,
                                          QtCore.QIODevice.WriteOnly)
     else:
         self.multiplexer = QtNetwork.QTcpSocket(self)
         address, port = address.split(':')
         self.multiplexer.connectToHost(address, int(port),
                                        QtCore.QIODevice.WriteOnly)
Exemple #25
0
 def __init__(self, *args, **kwargs):
     QtCore.QObject.__init__(self, *args, **kwargs)
     url = QtCore.QUrl("https://www.google.com/")
     req = QtNetwork.QNetworkRequest(url)
     self.net_manager = QtNetwork.QNetworkAccessManager()
     self.res = self.net_manager.get(req)
     self.res.finished.connect(self.processRes)
     self.res.error.connect(self.processErr)
     self.msg = QtWidgets.QMessageBox()
     self.sig.
Exemple #26
0
  def doRequest(self):
    print("dorequest方法执行了")
    url = "http://localhost:18080"
    # 创建一个请求
    req = QtNetwork.QNetworkRequest(QUrl(url))

    self.nam = QtNetwork.QNetworkAccessManager()
    self.nam.finished.connect(self.handleResponse)
    # 使用get请求 如果有参数的话 写一个data 放到get里
    self.nam.get(req)
Exemple #27
0
 def Send_Message(message, HOST="127.0.0.1", PORT=33002):
     if message.startswith("{FIELD}"):
         message = message.replace("{FIELD}", "")
         SOCKET.writeDatagram(message.encode(),
                              QtNetwork.QHostAddress(HOST), PORT)
         Message_Field.setText("")
         Message_Field.setFocus()
     else:
         SOCKET.writeDatagram(message.encode(),
                              QtNetwork.QHostAddress(HOST), PORT)
Exemple #28
0
 def onCookieAdded(self, cookie):
     data = {
         bytearray(QtNetwork.QNetworkCookie(cookie).name()).decode():
         bytearray(QtNetwork.QNetworkCookie(cookie).value()).decode()
     }
     self.cookies.update(data)
     if 'yiban_user_token' in self.cookies:
         mainw.tokenLineedit.setText(json.dumps(self.cookies))
         self.resetWebview()
         self.close()
Exemple #29
0
 def autoDetectNetworkInterface(self):
     hostAddresses = []
     interfaceFlags = QtNetwork.QNetworkInterface.IsUp | \
                       QtNetwork.QNetworkInterface.IsRunning
     # Grab all available interfaces
     allInterfaces = QtNetwork.QNetworkInterface.allInterfaces()
     for interface in allInterfaces:
         if ((interface.flags() & interfaceFlags == interfaceFlags) \
             ):#and (interface.flags() &
             #           QtNetwork.QNetworkInterface.IsLoopBack == 0)):
             addresses = interface.addressEntries()
             for address in addresses:
                 if (address.ip().protocol() ==
                         QtNetwork.QAbstractSocket.IPv4Protocol) and \
                                 address.ip() != (
                                 QtNetwork.QHostAddress(
                                     QtNetwork.QHostAddress.LocalHost)):
                     hostAddresses.append(address.ip())
                     # If there is more than one host address detected,
                     # show error dialog
                     if len(hostAddresses) > 1:
                         alert = AlertDialog(
                             "Network Error",
                             "Could not auto detect network "
                             "settings")
                         alert.show()
                     else:  # only one IP address returned, try port 80
                         testServer = QtNetwork.QTcpServer(self)
                         # Try to start a QTcpServer at hostAddress:80
                         # If the server starts, return those values as
                         # detected values
                         if testServer.listen(hostAddresses[0], 80):
                             ipAddress = hostAddresses[0].toString()
                             # populate server text boxes
                             self.hostAddressTextBox.setText(ipAddress)
                             self.hostPortTextBox.setText(str(80))
                             testServer.close()
                         else:
                             # Could not listen at detected IP address and
                             # port 80. This may be because port 80 is
                             # being used by another service, so let
                             # QTcpServer pick the port.
                             if testServer.listen(hostAddresses[0]):
                                 ipAddress = hostAddresses[0].toString()
                                 port = testServer.serverPort()
                                 # populate server text boxes
                                 self.hostAddressTextBox.setText(ipAddress)
                                 self.hostPortTextBox.setText(str(port))
                                 testServer.close()
                             else:  # Can't auto detect network settings
                                 alert = AlertDialog(
                                     "Network Error", "Could not auto "
                                     "detect  network "
                                     "settings")
                                 alert.show()
    def makeOWMTestCall(self):
        appid = self.owmAPIKey.displayText()
        cityID = self.owmCityID.displayText()
        units = ww.owm_units.get(self.owmUnit.currentText())
        lang = ww.owm_languages.get(self.owmLanguage.currentText())
        url = "http://api.openweathermap.org/data/2.5/weather?id=" + cityID + "&units=" + units + "&lang=" + lang + "&appid=" + appid

        req = QtNetwork.QNetworkRequest(QUrl(url))
        self.nam = QtNetwork.QNetworkAccessManager()
        self.nam.finished.connect(self.handleOWMResponse)
        self.nam.get(req)