10
10
import sys
11
11
12
12
from PyQt5 import QtCore , QtGui , QtWidgets
13
+ from PyQt5 .QtWidgets import QMessageBox
13
14
import websocket
14
15
15
16
@@ -18,19 +19,43 @@ class RemoteController(object):
18
19
def __init__ (self , MainWindow ) -> None :
19
20
self .setupUi (MainWindow )
20
21
22
+ def show_popup (self ):
23
+ msg = QMessageBox ()
24
+ msg .setWindowTitle ("Connection Error" )
25
+ msg .setText ("Seems like your websocket connection is closed" )
26
+ msg .setIcon (QMessageBox .Critical )
27
+ msg .exec_ ()
28
+
21
29
def startBtn (self ):
22
- self .label .setText ('Recording Started' )
23
- self .label .adjustSize ()
24
30
session_prefix = self .download_prefix_text .toPlainText ()
25
31
if self .isPrefix (session_prefix ):
26
- self .ws .send ("START_REC@@" + session_prefix )
32
+ try :
33
+ self .ws .send ("START_REC@@" + session_prefix )
34
+ self .label .setText ('Recording Started' )
35
+ self .label .adjustSize ()
36
+ except Exception as e :
37
+ self .show_popup ()
38
+ with open ('last_prefix.txt' ,'w+' ) as file :
39
+ file .writelines (session_prefix )
40
+ sys .exit ()
27
41
28
42
def stopBtn (self ):
29
43
self .label .setText ('Recording Stopped' )
30
- self .ws .send ("STOP_REC" )
44
+ try :
45
+ self .ws .send ("STOP_REC" )
46
+ except Exception as e :
47
+ self .show_popup ()
48
+ with open ('last_prefix.txt' ,'w+' ) as file :
49
+ file .writelines (self .download_prefix_text .toPlainText ())
50
+ sys .exit ()
31
51
32
52
def statusBtn (self ):
33
- self .ws .send ("STATUS" )
53
+ try :
54
+ self .ws .send ("STATUS" )
55
+ except Exception as e :
56
+ self .show_popup ()
57
+ with open ('last_prefix.txt' ,'w+' ) as file :
58
+ file .writelines (self .download_prefix_text .toPlainText ())
34
59
message = self .ws .recv ()
35
60
self .status_label .setPlainText (message )
36
61
@@ -57,7 +82,7 @@ def setupUi(self, MainWindow):
57
82
# Setup the WEB SOCKET
58
83
self .ws = websocket .WebSocket ()
59
84
#self.ws.connect("ws://172.16.62.107:7867/remotecon")
60
- self .ws .connect ("ws://192.168.5.2:7867/remotecon" )
85
+ self .ws .connect ("ws://192.168.5.2:7867/remotecon" , ping_interval = 1 )
61
86
62
87
#
63
88
# Setup the GUI
@@ -93,6 +118,13 @@ def setupUi(self, MainWindow):
93
118
self .download_prefix_text = QtWidgets .QTextEdit (self .centralwidget )
94
119
self .download_prefix_text .setGeometry (QtCore .QRect (180 , 80 , 380 , 31 ))
95
120
self .download_prefix_text .setObjectName ("prefix_text" )
121
+ try :
122
+ with open ('last_prefix.txt' ,'r+' ) as file :
123
+ data = file .readlines ()
124
+ if len (data ) > 0 :
125
+ self .download_prefix_text .setText (data [0 ])
126
+ except :
127
+ pass
96
128
self .download_btn = QtWidgets .QPushButton (self .centralwidget )
97
129
self .download_btn .setGeometry (QtCore .QRect (280 , 380 , 161 , 61 ))
98
130
self .download_btn .setFont (font )
0 commit comments