예제 #1
0
def mqtt_connection(request):
    broker_location = os.path.join(
        request.config.rootdir, "internals/paho.mqtt.testing/interoperability/startbroker.py",
    )
    broker_process = QtCore.QProcess()
    python_path = sys.executable
    arguments = [broker_location]
    configuration = "localhost_testing.conf"
    broker_dir = QtCore.QFileInfo(broker_location).absoluteDir()
    if broker_dir.exists(configuration):
        arguments += [
            "-c",
            QtCore.QDir.toNativeSeparators(broker_dir.absoluteFilePath(configuration)),
        ]
        broker_process.setWorkingDirectory(broker_dir.absolutePath())
    broker_process.start(python_path, arguments)
    if not broker_process.waitForStarted():
        raise Exception("Could not start MQTT test broker.")

    max_tries = 6

    for try_counter in range(max_tries):
        socket = QtNetwork.QTcpSocket()
        socket.connectToHost("localhost", 1883)

        if socket.waitForConnected(3000):
            yield "localhost"
            break
        loop = QtCore.QEventLoop()
        QtCore.QTimer.singleShot(5000, loop.quit)
        loop.exec_()
    print("Could not launch MQTT test broker.")
예제 #2
0
파일: client.py 프로젝트: pixpil/gii
 def _connect(self):
     """ Connects our client socket to the backend socket """
     if self is None:
         return
     comm('connecting to 127.0.0.1:%d', self._port)
     address = QtNetwork.QHostAddress('127.0.0.1')
     self.connectToHost(address, self._port)
예제 #3
0
 def __init__(self, argv, key):
     SingleApplication.__init__(self, argv, key)
     self._key = key
     self._timeout = 1000
     self._server = QtNetwork.QLocalServer(self)
     if not self.isRunning():
         self._server.newConnection.connect(self.handleMessage)
         self._server.listen(self._key)
예제 #4
0
    def __init__(self, parent=None):
        QtWidgets.QLabel.__init__(self, parent)

        self.email = None
        self.response = None
        self.timeout = 0
        self.imgsize = defs.medium_icon
        self.pixmaps = {}

        self.network = QtNetwork.QNetworkAccessManager()
        self.network.finished.connect(self.network_finished)
예제 #5
0
    def __init__(self, parent=None):
        QtWidgets.QLabel.__init__(self, parent)

        self.email = None
        self.response = None
        self.timeout = 0
        self.imgsize = defs.medium_icon
        self.pixmaps = {}
        self._default_pixmap_bytes = None

        self.network = QtNetwork.QNetworkAccessManager()
        # pylint: disable=no-member
        self.network.finished.connect(self.network_finished)
예제 #6
0
 def sendMessage(self, message):
     if self.isRunning():
         socket = QtNetwork.QLocalSocket(self)
         socket.connectToServer(self._key, QtCore.QIODevice.WriteOnly)
         if not socket.waitForConnected(self._timeout):
             _logger.error(socket.errorString())
             return False
         if not isinstance(message, bytes):
             message = message.encode('utf-8')
         socket.write(message)
         if not socket.waitForBytesWritten(self._timeout):
             _logger.error(socket.errorString())
             return False
         socket.disconnectFromServer()
         return True
     return False
예제 #7
0
    def event_startup(self):

        wv = WebView(self.main_window)
        wv.setHtml(
            HTML,
            QtCore.QUrl(u'http://opensesame.app.cogsci.nl/%s' %
                        metadata.__version__))
        wv.hide()
        if not QtNetwork.QNetworkConfigurationManager().isOnline() or \
         not cfg.analytics_show_notification:
            return
        self.extension_manager.fire(
            u'notify',
            message=
            _('Anonymous usage data is collected. You can disable this by disabling the <i>analytics</i> extension.'
              ),
            category=u'info',
            timeout=10000,
            buttontext=_(u'Got it!'))
        cfg.analytics_show_notification = False
예제 #8
0
 def request(self, email):
     url = Gravatar.url_for_email(email, self.imgsize)
     self.network.get(QtNetwork.QNetworkRequest(QtCore.QUrl(url)))
예제 #9
0
 def _make_request(self, url):
     request = QtNetwork.QNetworkRequest()
     request.setUrl(QtCore.QUrl(url))
     return request