MqttMonitor/MqttMonitorWidget.py

Thu, 06 Sep 2018 19:33:51 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 06 Sep 2018 19:33:51 +0200
branch
connection_profiles
changeset 21
be4b201d9a41
parent 19
889a7c3c0e63
child 25
01d44a4decf5
permissions
-rw-r--r--

MqttMonitorWidget: fixed an issue with forgotten '()'.

1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3 # Copyright (c) 2018 Detlev Offenbach <detlev@die-offenbachs.de>
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
4 #
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
5
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
7 Module implementing the MQTT Monitor widget.
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from __future__ import unicode_literals
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
5
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
12 try:
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
13 str = unicode # __IGNORE_EXCEPTION__
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
14 except NameError:
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
15 pass
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
16
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 import os
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
18 import collections
19
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
19 import copy
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
21 from PyQt5.QtCore import pyqtSlot, QTimer
5
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
22 from PyQt5.QtGui import QTextCursor
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
23 from PyQt5.QtWidgets import QWidget, QDialog
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
25 from E5Gui import E5MessageBox
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
26
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 from .Ui_MqttMonitorWidget import Ui_MqttMonitorWidget
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
29 from .MqttClient import MqttClient, mqttConnackMessage, mqttErrorMessage
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
30
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 import UI.PixmapCache
5
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
32 import Utilities
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 class MqttMonitorWidget(QWidget, Ui_MqttMonitorWidget):
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 """
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
37 Class implementing the MQTT Monitor widget.
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
39 BrokerStatusTopicPrefix = "$SYS/broker/"
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
40 BrokerStatusTopic = "$SYS/broker/#"
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
41 BrokerStatusTopicLoadPrefix = "$SYS/broker/load/"
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
42
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
43 def __init__(self, plugin, parent=None):
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 Constructor
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
47 @param plugin reference to the plug-in object
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
48 @type MqttMonitorPlugin
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 @param parent reference to the parent widget
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 @type QWidget
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 """
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 super(MqttMonitorWidget, self).__init__(parent)
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.setupUi(self)
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
55 self.__plugin = plugin
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
56
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
57 self.__connectedToBroker = False
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
58 self.__brokerStatusTopicSubscribed = False
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
59
1
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.pixmapLabel.setPixmap(UI.PixmapCache.getPixmap(
bf1a17419d44 Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 os.path.join("MqttMonitor", "icons", "mqtt48.png")))
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
62
5
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
63 self.brokerWidget.setCurrentIndex(0)
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
64
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
65 self.__connectionModeProfile = True
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
66 self.__setConnectionMode(True) # initial mode is 'profile connection'
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
67 self.__populateProfileComboBox()
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
68
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
69 self.connectButton.setIcon(UI.PixmapCache.getIcon("ircConnect.png"))
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
70 self.brokerConnectionOptionsButton.setIcon(UI.PixmapCache.getIcon(
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
71 os.path.join("MqttMonitor", "icons", "connectionOptions.png")))
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
72 self.__populateBrokerComboBoxes()
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
73 self.brokerStatusLabel.hide()
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
74
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
75 self.subscribeButton.setIcon(UI.PixmapCache.getIcon("plus.png"))
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
76 self.subscribeButton.setEnabled(False)
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
77 self.unsubscribeButton.setIcon(UI.PixmapCache.getIcon("minus.png"))
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
78
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
79 self.__subscribedTopics = []
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
80 self.__topicQueue = {}
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
81 self.__updateUnsubscribeTopicComboBox()
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
82
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
83 self.__publishedTopics = []
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
84 self.__updatePublishTopicComboBox()
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
85 self.publishButton.setEnabled(False)
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
86
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
87 self.__connectionOptions = None
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
88
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
89 prefix = MqttMonitorWidget.BrokerStatusTopicPrefix
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
90 self.__statusLabelMapping = {
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
91 # broker
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
92 prefix + "version": self.versionLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
93 prefix + "timestamp": self.timestampLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
94 prefix + "uptime": self.uptimeLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
95 prefix + "subscriptions/count": self.subscriptionsLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
96 # clients
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
97 prefix + "clients/connected": self.clientsConnectedLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
98 prefix + "clients/disconnected": self.clientsDisconnectedLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
99 prefix + "clients/expired": self.clientsExpiredLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
100 prefix + "clients/maximum": self.clientsMaximumLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
101 prefix + "clients/total": self.clientsTotalLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
102 # messages
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
103 prefix + "messages/sent": self.messagesSentLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
104 prefix + "messages/received": self.messagesReceivedLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
105 prefix + "messages/stored": self.messagesStoredLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
106 prefix + "store/messages/count": self.messagesStoredLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
107 prefix + "messages/inflight": self.messagesInflightLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
108 prefix + "retained messages/count": self.messagesRetainedLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
109 # publish messages
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
110 prefix + "publish/messages/sent": self.publishMessagesSentLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
111 prefix + "publish/messages/received":
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
112 self.publishMessagesReceivedLabel,
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
113 prefix + "publish/messages/dropped":
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
114 self.publishMessagesDroppedLabel,
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
115 # traffic
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
116 prefix + "bytes/sent": self.bytesSentLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
117 prefix + "bytes/received": self.bytesReceivedLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
118 # load
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
119 prefix + "load/bytes/sent": self.loadBytesSentLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
120 prefix + "load/bytes/received": self.loadBytesReceivedLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
121 prefix + "load/messages/sent": self.loadMessagesSentLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
122 prefix + "load/messages/received": self.loadMessagesReceivedLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
123 prefix + "load/publish/sent": self.loadPublishSentLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
124 prefix + "load/publish/received": self.loadPublishReceivedLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
125 prefix + "load/publish/dropped": self.loadPublishDroppedLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
126 prefix + "load/connections": self.loadConnectionsLabel,
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
127 prefix + "load/sockets": self.loadSocketsLabel,
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
128 }
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
129
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
130 self.__statusLoadValues = collections.defaultdict(
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
131 self.__loadDefaultDictFactory)
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
132
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
133 self.__client = MqttClient()
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
134
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
135 # connect the MQTT client signals
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
136 self.__client.onConnect.connect(self.__brokerConnected)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
137 self.__client.onDisconnected.connect(self.__brokerDisconnected)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
138 self.__client.onMessage.connect(self.__messageReceived)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
139 self.__client.onPublish.connect(self.__messagePublished)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
140 self.__client.onSubscribe.connect(self.__topicSubscribed)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
141 self.__client.onUnsubscribe.connect(self.__topicUnsubscribed)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
142
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
143 #######################################################################
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
144 ## Slots handling MQTT related signals
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
145 #######################################################################
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
146
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
147 @pyqtSlot(dict, int)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
148 def __brokerConnected(self, flags, rc):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
149 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
150 Private slot to handle being connected to a broker.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
151
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
152 @param flags flags set for the connection
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
153 @type dict
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
154 @param rc CONNACK result code
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
155 @type int
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
156 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
157 if rc == 0:
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
158 self.__connectedToBroker = True
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
159 self.__connectionOptions = None
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
160
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
161 msg = mqttConnackMessage(rc)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
162 self.__flashBrokerStatusLabel(msg)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
163
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
164 self.connectButton.setIcon(UI.PixmapCache.getIcon("ircDisconnect.png"))
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
165
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
166 self.subscribeGroup.setEnabled(True)
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
167 self.unsubscribeGroup.setEnabled(True)
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
168 self.publishGroup.setEnabled(True)
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
169 self.brokerStatusButton.setEnabled(True)
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
170
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
171 self.__statusLoadValues.clear()
11
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
172 self.__clearBrokerStatusLabels()
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
173 self.__setBrokerStatusSubscribed(False)
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
174
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
175 @pyqtSlot(int)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
176 def __brokerDisconnected(self, rc):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
177 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
178 Private slot to handle a disconnection from the broker.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
179
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
180 @param rc MQTT error result code
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
181 @type int
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
182 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
183 self.__connectedToBroker = False
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
184
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
185 # ensure, the client loop is stopped
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
186 self.__client.stopLoop()
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
187
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
188 if rc != 0:
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
189 msg = mqttErrorMessage(rc)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
190 else:
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
191 msg = self.tr("Connection to Broker shut down cleanly.")
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
192 self.__flashBrokerStatusLabel(msg)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
193
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
194 self.connectButton.setIcon(UI.PixmapCache.getIcon("ircConnect.png"))
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
195
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
196 self.__subscribedTopics = []
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
197 self.__topicQueue = {}
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
198 self.__updateUnsubscribeTopicComboBox()
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
199 self.__updatePublishTopicComboBox()
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
200
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
201 self.subscribeGroup.setEnabled(False)
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
202 self.unsubscribeGroup.setEnabled(False)
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
203 self.publishGroup.setEnabled(False)
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
204 self.brokerStatusButton.setEnabled(False)
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
205
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
206 self.__statusLoadValues.clear()
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
207
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
208 @pyqtSlot(str, bytes, int, bool)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
209 def __messageReceived(self, topic, payload, qos, retain):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
210 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
211 Private slot to handle the receipt of a message.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
212
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
213 @param topic topic of the message
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
214 @type str
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
215 @param payload payload (i.e. data) of the message
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
216 @type bytes
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
217 @param qos quality of service indicator
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
218 @type int
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
219 @param retain flag indicating a retained message
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
220 @type bool
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
221 """
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
222 if topic.startswith(MqttMonitorWidget.BrokerStatusTopicPrefix):
5
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
223 # handle broker status messages
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
224 self.__handleBrokerStatusMessage(topic, payload)
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
225 else:
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
226 self.__appendMessage(topic, payload)
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
227
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
228 @pyqtSlot(int)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
229 def __messagePublished(self, mid):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
230 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
231 Private slot to handle a message being published.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
232
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
233 @param mid ID of the published message
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
234 @type int
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
235 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
236 pass
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
237
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
238 @pyqtSlot(int, tuple)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
239 def __topicSubscribed(self, mid, grantedQos):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
240 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
241 Private slot to handle being subscribed to topics.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
242
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
243 @param mid ID of the subscribe request
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
244 @type int
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
245 @param grantedQos tuple of granted quality of service
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
246 @type tuple of int
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
247 """
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
248 if mid in self.__topicQueue:
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
249 topic = self.__topicQueue.pop(mid)
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
250 self.__subscribedTopics.append(topic)
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
251 self.subscribeTopicEdit.clear()
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
252
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
253 self.__updateUnsubscribeTopicComboBox()
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
254 self.__updatePublishTopicComboBox()
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
255
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
256 @pyqtSlot(int)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
257 def __topicUnsubscribed(self, mid):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
258 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
259 Private slot to handle being unsubcribed from a topic.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
260
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
261 @param mid ID of the unsubscribe request
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
262 @type int
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
263 """
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
264 if mid in self.__topicQueue:
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
265 topic = self.__topicQueue.pop(mid)
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
266 try:
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
267 self.__subscribedTopics.remove(topic)
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
268 self.__updateUnsubscribeTopicComboBox()
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
269 self.__updatePublishTopicComboBox()
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
270 except ValueError:
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
271 # ignore it
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
272 pass
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
273
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
274 #######################################################################
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
275 ## Slots handling UI interactions
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
276 #######################################################################
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
277
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
278 @pyqtSlot()
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
279 def __flashBrokerStatusLabel(self, message):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
280 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
281 Private slot to show the broker status label with some text for
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
282 5 seconds.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
283
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
284 @param message message to be shown
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
285 @type str
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
286 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
287 self.brokerStatusLabel.setText(message)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
288 self.brokerStatusLabel.show()
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
289 QTimer.singleShot(5000, self.brokerStatusLabel.hide)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
290
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
291 @pyqtSlot()
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
292 def on_modeButton_clicked(self):
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
293 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
294 Private slot to switch between connection profiles and direct
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
295 connection mode.
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
296 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
297 self.__setConnectionMode(not self.__connectionModeProfile)
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
298
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
299 @pyqtSlot(str)
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
300 def on_brokerComboBox_editTextChanged(self, host):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
301 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
302 Private slot to handling entering or selecting a broker host name.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
303
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
304 @param host host name of the broker
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
305 @type str
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
306 """
19
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
307 self.__setConnectButtonState()
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
308
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
309 @pyqtSlot()
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
310 def on_brokerConnectionOptionsButton_clicked(self):
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
311 """
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
312 Private slot to show a dialog to modify connection options or a
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
313 dialog to edit connection profiles.
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
314 """
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
315 if self.__connectionModeProfile:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
316 from .MqttConnectionProfilesDialog import \
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
317 MqttConnectionProfilesDialog
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
318 dlg = MqttConnectionProfilesDialog(
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
319 self.__client, self.__plugin.getPreferences("BrokerProfiles"),
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
320 parent=self)
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
321 if dlg.exec_() == QDialog.Accepted:
19
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
322 profilesDict = dlg.getProfiles()
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
323 self.__plugin.setPreferences("BrokerProfiles", profilesDict)
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
324 self.__populateProfileComboBox()
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
325 else:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
326 from .MqttConnectionOptionsDialog import \
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
327 MqttConnectionOptionsDialog
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
328 dlg = MqttConnectionOptionsDialog(
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
329 self.__client, self.__connectionOptions, parent=self)
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
330 if dlg.exec_() == QDialog.Accepted:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
331 self.__connectionOptions = dlg.getConnectionOptions()
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
332
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
333 @pyqtSlot()
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
334 def on_connectButton_clicked(self):
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
335 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
336 Private slot to handle a connect or disconnect request.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
337 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
338 if self.__connectedToBroker:
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
339 self.__client.disconnectFromServer()
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
340 else:
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
341 if self.__connectionModeProfile:
21
be4b201d9a41 MqttMonitorWidget: fixed an issue with forgotten '()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
342 self.__profileConnectToBroker()
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
343 else:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
344 self.__directConnectToBroker()
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
345
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
346 @pyqtSlot(str)
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
347 def on_subscribeTopicEdit_textChanged(self, topic):
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
348 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
349 Private slot to handle a change of the entered topic.
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
350
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
351 @param topic entered topic text
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
352 @type str
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
353 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
354 self.subscribeButton.setEnabled(bool(topic))
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
355
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
356 @pyqtSlot()
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
357 def on_subscribeButton_clicked(self):
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
358 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
359 Private slot to subscribe to the entered topic.
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
360 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
361 topic = self.subscribeTopicEdit.text()
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
362 qos = self.subscribeQosSpinBox.value()
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
363 if topic:
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
364 if topic.startswith(MqttMonitorWidget.BrokerStatusTopicPrefix):
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
365 E5MessageBox.warning(
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
366 self,
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
367 self.tr("Subscribe to Topic"),
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
368 self.tr("Subscriptions to the Status topic '$SYS' shall"
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
369 " be done on the 'Status' tab."))
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
370 else:
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
371 self.__topicQueue[
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
372 self.__client.subscribe(topic, qos)[1]] = topic
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
373
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
374 @pyqtSlot(str)
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
375 def on_unsubscribeTopicComboBox_currentIndexChanged(self, topic):
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
376 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
377 Private slot to handle the selection of a topic to unsubscribe from.
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
378
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
379 @param topic topic text
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
380 @type str
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
381 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
382 self.unsubscribeButton.setEnabled(bool(topic))
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
383
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
384 @pyqtSlot()
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
385 def on_unsubscribeButton_clicked(self):
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
386 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
387 Private slot to unsubscribe from the selected topic.
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
388 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
389 topic = self.unsubscribeTopicComboBox.currentText()
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
390 if topic:
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
391 self.__topicQueue[
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
392 self.__client.unsubscribe(topic)[1]] = topic
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
393
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
394 @pyqtSlot(str)
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
395 def on_publishTopicComboBox_editTextChanged(self, topic):
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
396 """
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
397 Private slot to handle changes of the publish topic name.
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
398
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
399 @param topic topic text
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
400 @type str
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
401 """
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
402 self.publishButton.setEnabled(bool(topic))
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
403
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
404 @pyqtSlot()
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
405 def on_publishButton_clicked(self):
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
406 """
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
407 Private slot to publish the entered message.
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
408 """
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
409 topic = self.publishTopicComboBox.currentText()
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
410 qos = self.publishQosSpinBox.value()
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
411 retain = self.publishRetainCheckBox.isChecked()
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
412 payloadStr = self.publishPayloadEdit.toPlainText()
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
413 if not payloadStr:
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
414 # use empty string together with the retain flag to clean
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
415 # a retained message by sending None instead
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
416 payloadStr = None
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
417
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
418 msgInfo = self.__client.publish(topic, payloadStr, qos, retain)
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
419 if msgInfo.rc == 0:
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
420 if topic not in self.__publishedTopics:
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
421 self.__publishedTopics.append(topic)
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
422 self.__updatePublishTopicComboBox()
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
423
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
424 @pyqtSlot()
11
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
425 def on_publishClearButton_clicked(self):
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
426 """
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
427 Private slot to clear the publish data fields.
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
428 """
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
429 self.publishTopicComboBox.clearEditText()
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
430 self.publishPayloadEdit.clear()
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
431 self.publishQosSpinBox.setValue(0)
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
432 self.publishRetainCheckBox.setChecked(False)
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
433
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
434 @pyqtSlot()
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
435 def on_brokerStatusButton_clicked(self):
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
436 """
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
437 Private slot to subscribe or unsubscribe the broker status topic.
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
438 """
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
439 if self.__brokerStatusTopicSubscribed:
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
440 # unsubscribe status topic
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
441 rc, _ = self.__client.unsubscribe(
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
442 MqttMonitorWidget.BrokerStatusTopic)
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
443 if rc == 0:
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
444 # successfully sent
11
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
445 self.__setBrokerStatusSubscribed(False)
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
446 else:
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
447 # subscribe status topic
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
448 rc, _ = self.__client.subscribe(
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
449 MqttMonitorWidget.BrokerStatusTopic)
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
450 if rc == 0:
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
451 # successfully sent
11
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
452 self.__setBrokerStatusSubscribed(True)
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
453
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
454 def __setBrokerStatusSubscribed(self, subscribed):
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
455 """
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
456 Private method to set the subscription status for the broker status
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
457 topics.
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
458
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
459 @param subscribed subscription status for the broker status topics
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
460 @type bool
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
461 """
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
462 self.__brokerStatusTopicSubscribed = subscribed
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
463 if subscribed:
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
464 self.brokerStatusButton.setText(self.tr("Unsubscribe"))
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
465 self.brokerStatusButton.setToolTip(
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
466 self.tr("Press to deactivate the status display"))
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
467 else:
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
468 self.brokerStatusButton.setText(self.tr("Subscribe"))
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
469 self.brokerStatusButton.setToolTip(
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
470 self.tr("Press to activate the status display"))
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
471
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
472 #######################################################################
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
473 ## Utility methods
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
474 #######################################################################
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
475
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
476 def __addBrokerToRecent(self, host, port):
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
477 """
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
478 Private method to add a host name to the list of recently connected
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
479 brokers.
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
480
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
481 @param host host name of broker
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
482 @type str
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
483 @param port port number of the connection
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
484 @type int
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
485 """
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
486 brokerList = self.__plugin.getPreferences("RecentBrokersWithPort")
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
487 hostAndPort = [host, port]
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
488 if hostAndPort in brokerList:
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
489 brokerList.remove(hostAndPort)
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
490 brokerList.insert(0, hostAndPort)
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
491 self.__plugin.setPreferences("RecentBrokersWithPort", brokerList)
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
492
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
493 self.__populateBrokerComboBoxes()
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
494
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
495 def __populateBrokerComboBoxes(self):
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
496 """
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
497 Private method to populate the broker name and port combo boxes.
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
498 """
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
499 brokerList = self.__plugin.getPreferences("RecentBrokersWithPort")
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
500
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
501 # step 1: clear combo boxes
3
82845c0fd550 Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
502 self.brokerComboBox.clear()
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
503 self.brokerPortComboBox.clear()
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
504
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
505 # step 2a: populate the broker name list
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
506 self.brokerComboBox.addItems([b[0].strip() for b in brokerList])
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
507
19
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
508 self.__setConnectButtonState()
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
509
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
510 # step 2b: populate the broker ports list
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
511 if brokerList:
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
512 currentPort = brokerList[0][1]
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
513 else:
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
514 currentPort = 1883
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
515 currentPortStr = "{0:5}".format(currentPort)
11
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
516 portsSet = {b[1] for b in brokerList}
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
517 portsSet.update({1883, 8883})
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
518 self.brokerPortComboBox.addItems(
11
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
519 sorted("{0:5}".format(p) for p in portsSet))
10
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
520 index = self.brokerPortComboBox.findText(currentPortStr)
7e0e921dc7ea Started to implement the connection options dialog and methods to specify these connection options connecting to the server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
521 self.brokerPortComboBox.setCurrentIndex(index)
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
522
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
523 def __populateProfileComboBox(self):
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
524 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
525 Private method to populate the profiles selection box.
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
526 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
527 profilesDict = self.__plugin.getPreferences("BrokerProfiles")
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
528
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
529 self.profileComboBox.clear()
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
530 self.profileComboBox.addItems(sorted(profilesDict.keys()))
19
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
531
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
532 self.__setConnectButtonState()
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
533
4
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
534 def __updateUnsubscribeTopicComboBox(self):
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
535 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
536 Private method to update the unsubcribe topic combo box.
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
537 """
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
538 self.unsubscribeTopicComboBox.clear()
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
539 self.unsubscribeTopicComboBox.addItems(sorted(self.__subscribedTopics))
991db89bda9c MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
540 self.unsubscribeButton.setEnabled(len(self.__subscribedTopics) > 0)
5
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
541
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
542 def __updatePublishTopicComboBox(self):
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
543 """
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
544 Private method to update the publish topic combo box.
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
545 """
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
546 self.publishTopicComboBox.clear()
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
547 self.publishTopicComboBox.addItems(
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
548 [""] + list(set(self.__publishedTopics + self.__subscribedTopics)))
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
549
5
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
550 def __appendMessage(self, topic, payload):
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
551 """
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
552 Private method to append a received message to the output.
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
553
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
554 @param topic topic of the received message
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
555 @type str
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
556 @param payload payload of the received message
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
557 @type bytes
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
558 """
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
559 payloadStr = str(payload, encoding="utf-8", errors="replace")
8
95b56dcfa09b MqttMonitorWidget: implemented publish functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
560 txt = self.tr("{0} -> {1}").format(topic, payloadStr)
5
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
561 if not txt.endswith(("\r\n", "\r", "\n")):
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
562 txt += "\n"
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
563
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
564 tc = self.messagesEdit.textCursor()
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
565 tc.movePosition(QTextCursor.End)
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
566 self.messagesEdit.setTextCursor(tc)
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
567 self.messagesEdit.insertPlainText(Utilities.filterAnsiSequences(txt))
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
568 self.messagesEdit.ensureCursorVisible()
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
569
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
570 def __handleBrokerStatusMessage(self, topic, payload):
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
571 """
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
572 Private method to append a received message to the output.
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
573
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
574 @param topic topic of the received message
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
575 @type str
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
576 @param payload payload of the received message
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
577 @type bytes
7162c838cfc9 MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
578 """
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
579 payloadStr = str(payload, encoding="utf-8", errors="replace").strip()
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
580 topic = topic.strip()
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
581
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
582 if topic.startswith(MqttMonitorWidget.BrokerStatusTopicLoadPrefix):
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
583 self.__handleBrokerLoadStatusMessage(topic, payloadStr)
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
584 else:
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
585 try:
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
586 label = self.__statusLabelMapping[topic]
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
587 label.setText(payloadStr)
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
588 except KeyError:
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
589 # ignore topics not shown in display
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
590 pass
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
591
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
592 def __handleBrokerLoadStatusMessage(self, topic, payloadStr):
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
593 """
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
594 Private method to append a received message to the output.
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
595
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
596 @param topic topic of the received message
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
597 @type str
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
598 @param payloadStr string representation of the payload of the
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
599 received message
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
600 @type str
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
601 """
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
602 subtopic, topicElement = topic.rsplit("/", 1)
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
603 self.__statusLoadValues[subtopic][topicElement] = payloadStr
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
604
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
605 try:
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
606 label = self.__statusLabelMapping[subtopic]
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
607 label.setText("{0} / {1} / {2}".format(
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
608 self.__statusLoadValues[subtopic]["1min"],
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
609 self.__statusLoadValues[subtopic]["5min"],
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
610 self.__statusLoadValues[subtopic]["15min"],
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
611 ))
6
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
612 except KeyError:
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
613 # ignore topics not shown in display
d22f5ce3a07a MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
614 pass
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
615
11
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
616 def __clearBrokerStatusLabels(self):
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
617 """
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
618 Private method to clear the broker status labels.
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
619 """
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
620 for statusLabelKey in self.__statusLabelMapping:
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
621 if statusLabelKey.startswith(
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
622 MqttMonitorWidget.BrokerStatusTopicLoadPrefix):
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
623 label = "- / - / -"
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
624 else:
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
625 label = "-"
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
626 self.__statusLabelMapping[statusLabelKey].setText(label)
90d3ebed4cc0 Finished implementing the connection options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
627
7
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
628 def __loadDefaultDictFactory(self):
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
629 """
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
630 Private method to populate non-existing load items.
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
631
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
632 @return default dictionary entry
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
633 @rtype dict
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
634 """
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
635 return {
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
636 "1min": "-",
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
637 "5min": "-",
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
638 "15min": "-",
63e046d95702 MqttMonitorWidget: implemented part 2 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
639 }
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
640
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
641 def __setConnectionMode(self, profileMode):
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
642 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
643 Private method to set the connection mode.
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
644
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
645 @param profileMode flag indicating the profile connection mode
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
646 @type bool
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
647 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
648 self.__connectionModeProfile = profileMode
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
649 if profileMode:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
650 self.modeButton.setIcon(UI.PixmapCache.getIcon(
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
651 os.path.join("MqttMonitor", "icons", "profiles.png")))
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
652 else:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
653 self.modeButton.setIcon(UI.PixmapCache.getIcon(
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
654 os.path.join("MqttMonitor", "icons", "quickopen.png")))
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
655
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
656 self.profileComboBox.setVisible(profileMode)
19
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
657 self.brokerConnectionWidget.setVisible(not profileMode)
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
658 self.__setConnectButtonState()
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
659
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
660 def __setConnectButtonState(self):
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
661 """
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
662 Private method to set the enabled state of the connect button.
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
663 """
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
664 if self.__connectionModeProfile:
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
665 self.connectButton.setEnabled(
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
666 bool(self.profileComboBox.currentText()))
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
667 else:
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
668 self.connectButton.setEnabled(
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
669 bool(self.brokerComboBox.currentText()))
18
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
670
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
671 def __directConnectToBroker(self):
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
672 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
673 Private method to connect to the broker with entered data.
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
674 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
675 host = self.brokerComboBox.currentText()
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
676 port = self.brokerPortComboBox.currentText().strip()
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
677 try:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
678 port = int(port)
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
679 except ValueError:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
680 # use standard port at 1883
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
681 port = 1883
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
682 if host:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
683 self.__addBrokerToRecent(host, port)
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
684 if self.__connectionOptions is None:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
685 self.__client.connectToServer(host, port=port)
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
686 else:
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
687 self.__client.connectToServerWithOptions(
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
688 host, port=port, options=self.__connectionOptions)
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
689
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
690 def __profileConnectToBroker(self):
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
691 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
692 Private method to connect to the broker with selected profile.
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
693 """
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
694 profileName = self.profileComboBox.currentText()
bbfe5866b6aa MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
695 if profileName:
19
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
696 profilesDict = self.__plugin.getPreferences("BrokerProfiles")
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
697 profile = copy.copy(profilesDict[profileName]) # play it save
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
698 host = profile["BrokerAddress"]
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
699 port = profile["BrokerPort"]
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
700
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
701 self.__client.connectToServerWithOptions(host, port=port,
889a7c3c0e63 MqttConnectionProfilesDialog: continued implementing the connections profile dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 18
diff changeset
702 options=profile)

eric ide

mercurial