Changeset 36
- Timestamp:
- 02/06/08 20:20:32 (4 years ago)
- Files:
-
- 4 modified
-
cometd.py (modified) (6 diffs)
-
tabled.py (modified) (10 diffs)
-
web/js/jquery.comet.js (modified) (1 diff)
-
web/js/poker-client.js (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
cometd.py
r35 r36 255 255 self.stream = stream.ProducerStream() 256 256 self.id = getIdStr() 257 257 print "MAKING CONEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEECTION" 258 258 self.jsonp = False 259 259 self.jsonpCallback = None … … 274 274 } 275 275 } 276 276 print "RESP RESP RESP \n%s\nRESP RESP" % resp 277 277 if verbose: log.msg(self.ctypeProps["preamble"]) 278 278 self.stream.write(self.ctypeProps["preamble"]) … … 301 301 if self.jsonp: # FIXME: hack! 302 302 self.stream.write(self.jsonpCallback+"(") 303 print "I'm delivering foo &&&& %s" % simplejson.dumps 303 304 304 305 self.stream.write( 305 self.ctypeProps["envelope"] % (306 306 simplejson.dumps(self.backlog), 307 )308 307 ) 309 308 … … 333 332 self.authToken = authToken 334 333 self.lastError = lastError 334 print "HEY We're MAKING CLIENT WHAT WHAT $$$$$$$$$$$ %s %s" % (self.id,self.authToken) 335 335 336 336 def setConnection(self, conn): … … 344 344 def sendMessage(self, message): 345 345 if self.connection is not None: 346 print "Sending ---- Delivering" 346 347 self.connection.deliver(message) 347 348 else: … … 529 530 530 531 rstr = simplejson.dumps([ resp ]) 531 if verbose: log.msg("initHandshake response:", rstr)532 532 533 533 # accomidation for JSONP handshakes 534 534 if "jsonp" in request.args: 535 535 rstr = request.args["jsonp"][0]+"("+rstr+");" 536 if verbose: log.msg("initHandshake response:", rstr) 536 537 537 538 return buildResponse(rstr, type="text/plain") -
tabled.py
r35 r36 23 23 def __init__(self): 24 24 self.table = None 25 self. id = None25 self.__id = None 26 26 27 def send Message(self, data):27 def sendData(self, data): 28 28 self.sendMessageViaTransport( data ) 29 29 d = defer.Deferred() 30 d.addCallback(self.send Message)31 self.table.addDeferred(self. id, d)30 d.addCallback(self.sendData) 31 self.table.addDeferred(self.__id, d) 32 32 33 33 def sendMessageViaTransport(self,data): … … 35 35 pass 36 36 37 def dataRec ieved(self,data):37 def dataReceived(self,data): 38 38 39 39 if data == None or "method" not in data: … … 43 43 else: method = data["method"] 44 44 if method == "connect": 45 if self.table or self. id:45 if self.table or self.__id: 46 46 self.sendMessageViaTransport( 47 47 protocol.MakeError(103,"Already connected")) … … 58 58 return 59 59 else: 60 self. id = data['client_id']60 self.__id = data['client_id'] 61 61 d = defer.Deferred() 62 d.addCallback(self.send Message)62 d.addCallback(self.sendData) 63 63 self.table.addPlayer(data, d) 64 64 elif method == "action": … … 66 66 if value == "null": value = None 67 67 if value != None: value = float(value) 68 self.table.action(self. id, data["action"],value)68 self.table.action(self.__id, data["action"],value) 69 69 else: 70 70 self.sendMessageViaTransport( protocol.MakeError(102,"Unknown Method")) … … 77 77 78 78 def stringReceived(self, data): 79 self.dataRec ieved(decodejson(data))79 self.dataReceived(decodejson(data)) 80 80 81 81 def connectionLost(self, reason): … … 85 85 86 86 class WebClient(cometd.Client,BasePokerTableHandler): 87 88 def __init__(self, id=None, authSuccessful=False, authToken=None, lastError=""): 89 cometd.Client.__init__(self,id,authSuccessful,authToken,lastError) 90 print "INITIALIZING WEB CLIENT ((((" 91 BasePokerTableHandler.__init__(self) 87 92 88 93 def messageReceived(self,message): 89 print "FFFFFFFFFFFFFFFFFFFFFFFFF" 90 print "FFFFFFFFFFFFFFFFFFFFFFFFF" 91 print "FFFFFFFFFFFFFFFFFFFFFFFFF" 92 self.dataRecieved(message) 94 print "########### Hey we recieved a message %s" % message 95 self.dataReceived(message["data"]) 93 96 94 97 def sendMessageViaTransport(self,data): 95 self.sendMessage(data) 98 print "##########3Sending Message %s" % data 99 cometd.Client.sendMessage(self,{"data":data,"channel":"/poker"}) 100 96 101 97 102 … … 144 149 145 150 if "method" in nargs and not nargs["method"] == "get_update": 146 self.dataRec ieved(encodejson(nargs))151 self.dataReceived(encodejson(nargs)) 147 152 148 153 self.checkWaiting() … … 180 185 181 186 """ 182 187 #cometd.verbose = False 183 188 184 189 port = 8007#int(sys.argv[1]) … … 189 194 190 195 comet = cometd.cometd() 196 comet.ClientType = WebClient 191 197 192 198 site = server.Site(comet) -
web/js/jquery.comet.js
r35 r36 102 102 var fCallback = (fCallback) ? fCallback : function(sReturn) 103 103 { 104 104 105 var oReturn = (typeof sReturn != "object") ? (eval('(' + sReturn + ')')[0]) : sReturn[0]; 105 106 -
web/js/poker-client.js
r35 r36 1 1 var gstatus = null; 2 2 var host = null; 3 var token = null;4 3 var table_name = null; 5 4 var user_id = null; … … 53 52 return root; 54 53 } 55 function processStatus( stat ) { 56 token = stat["token"]; 57 //gstatus.text(String(stat)); 58 if(token) { 59 if( connection_state == "disconnected" ) { 60 $("form#connect_form").hide(); 61 state = "connected"; 62 gstatus.text(state); 63 } 64 //Do status generating code here 65 var player_names = [] 66 67 54 function processStatus( data ) { 55 //gstatus.text(String(stat)); 56 stat = data.data 57 if( connection_state == "disconnected" ) { 58 $("form#connect_form").hide(); 59 state = "connected"; 60 gstatus.text(state); 61 } 62 //Do status generating code here 63 var player_names = [] 64 65 68 66 if( stat.table_info ) { 69 67 ti = stat.table_info; … … 71 69 for( i in player_names ) { 72 70 pn = player_names[i] 73 if( players[pn] == null ) { //if it's null let's create a new player object 74 newPlayer = baseplayer.clone(true); 75 76 players[pn] = new Player(newPlayer); 77 players[pn].id.text(pn); 78 if( pn == stat.you.id ) { 79 you = players[stat.you.id] 80 $("#you").append(you.pl) 81 } else { 82 player_status.append( newPlayer ); 71 if( players[pn] == null ) { //if it's null let's create a new player object 72 newPlayer = baseplayer.clone(true); 73 74 players[pn] = new Player(newPlayer); 75 players[pn].id.text(pn); 76 if( pn == stat.you.id ) { 77 you = players[stat.you.id] 78 $("#you").append(you.pl) 79 } else { 80 player_status.append( newPlayer ); 81 } 83 82 } 84 }85 83 players[pn].updatePublic( ti.players[pn] ); 86 84 } 87 85 } 88 if( stat.game_state ) {89 gs = stat.game_state;90 for( i in player_names ) {91 pn = player_names[i]86 if( stat.game_state ) { 87 gs = stat.game_state; 88 for( i in player_names ) { 89 pn = player_names[i] 92 90 if( gs.player_actions[pn] ) { //if it's null let's create a new player object 93 91 players[pn].updateActions( gs.player_actions[pn] ); 94 92 } 93 } 94 } 95 96 if( stat.you ) { 97 you.updatePrivate(you); 98 if( stat.you.required_action ) { 99 for( i in stat.you.possible_actions ) { 100 act = new Action( i, stat.you.possible_actions[i][0], stat.you.possible_actions[i][1] ); 101 action_box.append( act.form ); 95 102 } 96 } 97 98 if( stat.you ) { 99 you.updatePrivate(you); 100 if( stat.you.required_action ) { 101 for( i in stat.you.possible_actions ) { 102 act = new Action( i, stat.you.possible_actions[i][0], stat.you.possible_actions[i][1] ); 103 action_box.append( act.form ); 104 } 105 action_box.show(); 106 } 103 action_box.show(); 107 104 } 108 105 } … … 111 108 function makeRequest( data ) { 112 109 $.comet.publish("/poker",data); 113 $.comet.endBatch();110 //$.comet.endBatch(); 114 111 115 112 //$.getJSON(host, … … 119 116 } 120 117 121 function updateStatus( statarr ) {122 n_requests -= 1;123 for( i in statarr ) {124 processStatus( statarr[i] );125 if( n_requests == 0 ) {126 makeRequest( {"token":token, "method":"get_update"} );127 }128 }129 }130 118 131 119 function Action( action, min, max ) { … … 176 164 return false; 177 165 } 178 makeRequest({"method":"action", "action":this.name,"value":v ,"token":token});166 makeRequest({"method":"action", "action":this.name,"value":v}); 179 167 action_box.hide(); 180 168 action_box.empty(); … … 183 171 184 172 } 185 186 173 $(document).ready(function() { 187 174 //$("form#connect_form").hide(); 188 175 // 189 $.comet.init("http://localhost:8080") 190 $.comet.subscribe("/poker" )191 192 sel = $('selector') 193 sel.bind("/poker", function(event, data) {alert(data)});176 $.comet.init("http://localhost:8080"); 177 $.comet.subscribe("/poker", processStatus); 178 179 sel = $('selector'); 180 //sel.bind("/poker", function(event, data) {alert(data)}); 194 181 baseplayer = $("td#baseplayer"); 195 182 baseplayer.parent().parent().remove();
