Changeset 78


Ignore:
Timestamp:
07/01/10 06:17:37 (11 years ago)
Author:
sc
Message:

thinkgear_emulator/puzzlebox_thinkgear_client.py:

  • whitespace cleanup

thinkgear_emulator/puzzlebox_thinkgear_server.py:

  • whitespace cleanup
  • added minor exception handling

remote_control/puzzlebox_brainstorms_client_interface.py

  • connect/disconnect from ThinkGear? socket server support added

remote_control/interface/qt4_form.py:

  • minor tweaks to layout

configuration:

  • THINKGEAR_SERVER_INTERFACE variable added

remote_control/puzzlebox_brainstorms_network_server_thinkgear.py

  • initial checkin
  • conversion from Python Twisted to QtNetwork? model

remote_control/puzzlebox_brainstorms_network_server.py:

  • QtCore?.QCoreApplication support added
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • remote_control/interface/qt4_form.py

    r77 r78  
    33# Form implementation generated from reading ui file 'qt4_form.ui' 
    44# 
    5 # Created: Tue Jun 29 22:02:28 2010 
     5# Created: Tue Jun 29 22:50:51 2010 
    66#      by: PyQt4 UI code generator 4.7.3 
    77# 
     
    2020                Form.setWindowIcon(icon) 
    2121                self.textLabelTitle = QtGui.QLabel(Form) 
    22                 self.textLabelTitle.setGeometry(QtCore.QRect(370, 0, 100, 60)) 
     22                self.textLabelTitle.setGeometry(QtCore.QRect(370, 1, 100, 60)) 
    2323                self.textLabelTitle.setTextFormat(QtCore.Qt.AutoText) 
    2424                self.textLabelTitle.setWordWrap(False) 
     
    10091009                self.progressBarRelaxation.setObjectName("progressBarRelaxation") 
    10101010                self.labelPuzzlebox = QtGui.QLabel(Form) 
    1011                 self.labelPuzzlebox.setGeometry(QtCore.QRect(308, 0, 60, 60)) 
     1011                self.labelPuzzlebox.setGeometry(QtCore.QRect(308, 2, 60, 60)) 
    10121012                self.labelPuzzlebox.setText("") 
    10131013                self.labelPuzzlebox.setPixmap(QtGui.QPixmap("images/puzzlebox_logo.png")) 
  • remote_control/interface/qt4_form.ui

    r77 r78  
    3535    <rect> 
    3636     <x>370</x> 
    37      <y>0</y> 
     37     <y>1</y> 
    3838     <width>100</width> 
    3939     <height>60</height> 
     
    30773077    <rect> 
    30783078     <x>308</x> 
    3079      <y>0</y> 
     3079     <y>2</y> 
    30803080     <width>60</width> 
    30813081     <height>60</height> 
  • remote_control/puzzlebox_brainstorms_client_interface.py

    r77 r78  
    155155                   thinkgear_client.puzzlebox_brainstorms_network_client_thinkgear(self.log, parent=self) 
    156156                 
    157                 self.pushButtonThinkGearConnect.setText('Connected') 
    158                 self.pushButtonThinkGearConnect.setEnabled(False) 
     157                self.connect(self.pushButtonThinkGearConnect, \ 
     158                                  QtCore.SIGNAL("clicked()"), \ 
     159                                  self.diconnectFromThinkGearHost) 
     160                 
     161                self.pushButtonThinkGearConnect.setText('Disconnect') 
     162                 
     163                #self.pushButtonThinkGearConnect.setEnabled(False) 
     164         
     165         
     166        ################################################################## 
     167         
     168        def diconnectFromThinkGearHost(self): 
     169                 
     170                self.thinkgearClient.disconnectFromHost() 
     171                 
     172                self.connect(self.pushButtonThinkGearConnect, \ 
     173                                  QtCore.SIGNAL("clicked()"), \ 
     174                                  self.configureNetworkThinkGear) 
     175                 
     176                self.pushButtonThinkGearConnect.setText('Connect') 
    159177         
    160178         
     
    247265        window.show() 
    248266         
    249         app.exec_() 
    250  
     267        sys.exit(app.exec_()) 
     268 
  • remote_control/puzzlebox_brainstorms_configuration.py

    r75 r78  
    5656BRAINSTORMS_SERVER_PORT = 8194 
    5757 
     58THINKGEAR_SERVER_INTERFACE = '' # listen on all of server's network interfaces 
    5859THINKGEAR_SERVER_HOST = '127.0.0.1' 
    5960THINKGEAR_SERVER_PORT = 13854 
  • remote_control/puzzlebox_brainstorms_network_client_thinkgear.py

    r76 r78  
    9595                        if packet != '': 
    9696                                 
    97                                 data = json.loads(packet.data()) 
    98                                  
    99                                 if self.DEBUG: 
    100                                         print "<-- [%s] Received:" % self.socket.name, 
    101                                         print data 
    102                                  
    103                                 self.processPacketThinkGear(data) 
     97                                try: 
     98                                         
     99                                        data = json.loads(packet.data()) 
     100                                 
     101                                 
     102                                except Exception, e: 
     103                                         
     104                                        if self.DEBUG: 
     105                                                print "ERROR [%s]: Exception parsing packet:" % self.socket.name, 
     106                                                print packet.data() 
     107                                                print "ERROR [%s]: Data packet" % self.socket.name, 
     108                                                print e 
     109                                         
     110                                        continue 
     111                                 
     112                                 
     113                                else: 
     114                                         
     115                                        if self.DEBUG: 
     116                                                print "<-- [%s] Received:" % self.socket.name, 
     117                                                print data 
     118                                         
     119                                        self.processPacketThinkGear(data) 
    104120         
    105121         
     
    109125                 
    110126                if self.DEBUG: 
    111                         if (socketError != QtNetwork.QAbstractSocket.RemoteHostClosedError): 
     127                        if ((socketError != QtNetwork.QAbstractSocket.RemoteHostClosedError) and \ 
     128                                 (socketError != QtNetwork.QAbstractSocket.SocketTimeoutError)): 
    112129                                print "ERROR [%s]:" % self.socket.name, 
    113130                                print self.socket.errorString() 
     
    116133                if (self.parent != None): 
    117134                 
    118                         if socketError == QtNetwork.QAbstractSocket.RemoteHostClosedError: 
     135                        if ((socketError == QtNetwork.QAbstractSocket.RemoteHostClosedError) or \ 
     136                                 (socketError != QtNetwork.QAbstractSocket.SocketTimeoutError)): 
    119137                                pass 
    120138                         
     
    152170                data = json.dumps(command) 
    153171                 
    154                 if self.socket.waitForConnected(CLIENT_NO_REPLY_WAIT): 
    155                         self.socket.write(data) 
     172                self.socket.waitForConnected(CLIENT_NO_REPLY_WAIT) 
     173                 
     174                self.socket.write(data) 
     175                 
     176                try: 
     177                        self.socket.waitForBytesWritten(CLIENT_NO_REPLY_WAIT) 
     178                except Exception, e: 
     179                        print "ERROR [%s]: Exception:" % self.socket.name, 
     180                        print e 
    156181         
    157182         
     
    174199                                if (self.parent != None): 
    175200                                        self.parent.progressBarRelaxation.setValue(packet['eSense']['meditation']) 
     201         
     202         
     203        ################################################################## 
     204         
     205        def disconnectFromHost(self): 
     206                 
     207                self.socket.disconnectFromHost() 
    176208 
    177209 
     
    250282                    DEBUG=DEBUG) 
    251283         
    252         while client.socket.waitForReadyRead(CLIENT_NO_REPLY_WAIT): 
    253                 pass 
    254  
     284        while True: 
     285                while client.socket.waitForReadyRead(CLIENT_NO_REPLY_WAIT): 
     286                        pass 
     287 
  • remote_control/puzzlebox_brainstorms_network_server.py

    r76 r78  
    99# For more information please refer to http://www.gnu.org/copyleft/gpl.html 
    1010# 
    11 # Last Update: 2010.06.28 
     11# Last Update: 2010.06.30 
    1212# 
    1313##################################################################### 
     
    1818import simplejson as json 
    1919 
    20 from PyQt4 import QtNetwork 
     20from PyQt4 import QtCore, QtNetwork 
    2121 
    2222import puzzlebox_brainstorms_configuration as configuration 
     
    5050                          server_interface=SERVER_INTERFACE, \ 
    5151                          server_port=SERVER_PORT, \ 
    52                           DEBUG=DEBUG): 
     52                          DEBUG=DEBUG, \ 
     53                          parent=None): 
    5354                 
    5455                self.log = log 
     
    7071                 
    7172                if self.DEBUG: 
    72                         print "----> [Server] Initializing server on %s:%i" % \ 
    73                                 (server_interface, server_port) 
     73                        print "----> [%s] Initializing server on %s:%i" % \ 
     74                                (self.socket.name, self.server_interface, self.server_port) 
    7475         
    7576                if (self.server_interface == ''): 
     
    234235        signal.signal(signal.SIGINT, signal.SIG_DFL) 
    235236         
    236         #log = puzzlebox_logger.puzzlebox_logger(logfile='master_control') 
     237        #log = puzzlebox_logger.puzzlebox_logger(logfile='brainstorms_server') 
    237238        log = None 
    238239         
     
    249250         
    250251         
     252        app = QtCore.QCoreApplication(sys.argv) 
     253         
    251254        server = puzzlebox_brainstorms_network_server(log, \ 
    252255                                                      server_interface, \ 
     
    254257                                                      DEBUG=DEBUG) 
    255258         
    256         while server.socket.waitForNewConnection(-1): 
    257                 pass 
    258  
     259        #while server.socket.waitForNewConnection(-1): 
     260                #pass 
     261         
     262         
     263        sys.exit(app.exec_()) 
     264 
  • thinkgear_emulator/puzzlebox_thinkgear_client.py

    r72 r78  
    148148         
    149149        def connectionMade(self): 
    150          
    151                  if self.DEBUG: 
     150                 
     151                if self.DEBUG: 
    152152                                        print "----> [ThinkGear Client] Connected to %s:%i" % \ 
    153153                                                        (self.factory.server_host, \ 
  • thinkgear_emulator/puzzlebox_thinkgear_server.py

    r72 r78  
    8585          # where 0 is perceived as a lack of that attribute 
    8686          # and 100 is an excess of that attribute. 
    87                 
     87 
    8888DEFAULT_BLINK_MESSAGE = {"blinkStrength": 255} 
    8989        # The strength of a detected blink. This is 
     
    147147                                if character not in hexadecimal_characters: 
    148148                                        is_valid = False 
    149  
     149                 
    150150                return(is_valid) 
    151          
    152          
    153         ################################################################## 
    154  
     151         
     152         
     153        ################################################################## 
     154         
    155155        def authorize_client(self, data): 
    156  
     156         
    157157                '''The client must initiate an authorization request 
    158158and the server must authorize the client before the 
     
    163163                # A human-readable name identifying the client 
    164164                # application. This can be a maximum of 255 characters. 
    165                  
     165         
    166166                if len(data['appName']) > 255: 
    167167                        is_authorized = False 
     
    169169 
    170170                return(is_authorized) 
    171                          
     171         
    172172 
    173173        ################################################################## 
     
    271271                self.client_connected = False 
    272272 
    273                 self.looping_timer.stop() 
     273                try: 
     274                        self.looping_timer.stop() 
     275                except Exception, e: 
     276                        if self.DEBUG: 
     277                                print "ERROR: Failed to stop looping timer:", 
     278                                print e 
    274279 
    275280 
Note: See TracChangeset for help on using the changeset viewer.