@@ -12,16 +12,19 @@ class PusherHandler(tornado.websocket.WebSocketHandler):
1212
1313 def check_origin (self , origin ):
1414 return True
15+
16+ def initialize (self , version ):
17+ self .version = version
1518
1619 def open (self ):
17- created = datetime .strftime (datetime .now (), '%Y-%m-%d %H:%M:%S' )
18- self .id = str (uuid .uuid4 ())
20+ created = datetime .strftime (datetime .now (), '%Y-%m-%d %H:%M:%S' )
21+ self .id = str (uuid .uuid4 (). hex )
1922 self .details = {"id" : self .id , "ip" : self .request .remote_ip , "name" : "User" , "created" : created }
2023 clients [self .id ] = { 'details' : self .details , 'connection' : self }
2124
2225 # send a message to the client with it's assigned details
23- connectedMessage = '{"pusher": "true", "startup": "true", "details": ' + json_encode (self .details ) + '}'
24- self . write_message ( connectedMessage )
26+ connectedMessage = '{"pusher": "true", "startup": "true", "details": ' + json_encode (self .details ) + ', "version": "' + self . version + '" }'
27+ logger . info ( connectedMessage )
2528 logger .debug ( 'New Spotmop Pusher connection: ' + self .id )
2629
2730 def on_message (self , message ):
@@ -53,24 +56,29 @@ def initialize(self, core, config, version):
5356 def get (self , action ):
5457
5558 if action == 'me' :
56- id = self .get_argument ('id' ,'' )
57- name = self .get_argument ('name' ,'' )
59+ id = self .get_argument ('id' ,'id ' )
60+ name = self .get_argument ('name' ,'name ' )
5861
5962 # save the payload name to the client list
60- clients [id ]['details' ]['name' ] = name
61-
62- # return the updated client details
63- self .write ( '{"status":"ok"}' )
63+ if id in clients :
64+ clients [id ]['details' ]['name' ] = name
65+ self .write ( '{"status":"ok"}' )
66+ else :
67+ self .write ( '{"status":"error","message":"Client does not exist"}' )
6468
6569 elif action == 'connections' :
6670 clientDetailsList = []
6771 for client in clients .itervalues ():
6872 clientDetailsList .append (client ['details' ])
6973 self .write (json_encode (clientDetailsList ))
7074
71- def spotmop_pusher_factory (config , core ):
75+ def spotmop_pusher_factory (config , core , version ):
7276 return [
73- ('/' , PusherRequestHandler , {'core' : core , 'config' : config })
77+ ('/' , PusherRequestHandler , {
78+ 'core' : core ,
79+ 'config' : config ,
80+ 'version' : version
81+ })
7482 ]
7583
7684
0 commit comments