Changeset 36

Show
Ignore:
Timestamp:
02/06/08 20:20:32 (4 years ago)
Author:
mike
Message:

got cometd to work!

Files:
4 modified

Legend:

Unmodified
Added
Removed
  • cometd.py

    r35 r36  
    255255                self.stream = stream.ProducerStream() 
    256256                self.id = getIdStr() 
    257  
     257                print "MAKING CONEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEECTION" 
    258258                self.jsonp = False 
    259259                self.jsonpCallback = None 
     
    274274                        } 
    275275                } 
    276  
     276                print "RESP RESP RESP \n%s\nRESP RESP" % resp 
    277277                if verbose: log.msg(self.ctypeProps["preamble"]) 
    278278                self.stream.write(self.ctypeProps["preamble"]) 
     
    301301                                if self.jsonp: # FIXME: hack! 
    302302                                        self.stream.write(self.jsonpCallback+"(") 
     303                                print "I'm delivering foo &&&& %s" % simplejson.dumps 
    303304 
    304305                                self.stream.write( 
    305                                         self.ctypeProps["envelope"] % ( 
    306306                                                simplejson.dumps(self.backlog), 
    307                                         ) 
    308307                                ) 
    309308 
     
    333332                self.authToken = authToken 
    334333                self.lastError = lastError 
     334                print "HEY We're MAKING CLIENT WHAT WHAT $$$$$$$$$$$ %s %s" % (self.id,self.authToken) 
    335335 
    336336        def setConnection(self, conn): 
     
    344344        def sendMessage(self, message): 
    345345                if self.connection is not None: 
     346                        print "Sending ---- Delivering" 
    346347                        self.connection.deliver(message) 
    347348                else: 
     
    529530 
    530531                rstr = simplejson.dumps([ resp ]) 
    531                 if verbose: log.msg("initHandshake response:", rstr) 
    532532 
    533533                # accomidation for JSONP handshakes 
    534534                if "jsonp" in request.args: 
    535535                        rstr = request.args["jsonp"][0]+"("+rstr+");" 
     536                if verbose: log.msg("initHandshake response:", rstr) 
    536537 
    537538                return buildResponse(rstr, type="text/plain") 
  • tabled.py

    r35 r36  
    2323    def __init__(self): 
    2424        self.table = None 
    25         self.id = None 
     25        self.__id = None 
    2626     
    27     def sendMessage(self, data): 
     27    def sendData(self, data): 
    2828        self.sendMessageViaTransport( data ) 
    2929        d = defer.Deferred() 
    30         d.addCallback(self.sendMessage) 
    31         self.table.addDeferred(self.id, d) 
     30        d.addCallback(self.sendData) 
     31        self.table.addDeferred(self.__id, d) 
    3232 
    3333    def sendMessageViaTransport(self,data): 
     
    3535        pass 
    3636 
    37     def dataRecieved(self,data): 
     37    def dataReceived(self,data): 
    3838 
    3939        if data == None or "method" not in data: 
     
    4343        else: method = data["method"] 
    4444        if method == "connect": 
    45             if self.table or self.id: 
     45            if self.table or self.__id: 
    4646                self.sendMessageViaTransport(  
    4747                    protocol.MakeError(103,"Already connected")) 
     
    5858                return 
    5959            else: 
    60                 self.id = data['client_id'] 
     60                self.__id = data['client_id'] 
    6161                d = defer.Deferred() 
    62                 d.addCallback(self.sendMessage) 
     62                d.addCallback(self.sendData) 
    6363                self.table.addPlayer(data, d) 
    6464        elif method == "action": 
     
    6666            if value == "null": value = None 
    6767            if value != None: value = float(value) 
    68             self.table.action(self.id, data["action"],value) 
     68            self.table.action(self.__id, data["action"],value) 
    6969        else: 
    7070            self.sendMessageViaTransport( protocol.MakeError(102,"Unknown Method"))  
     
    7777 
    7878    def stringReceived(self, data): 
    79         self.dataRecieved(decodejson(data)) 
     79        self.dataReceived(decodejson(data)) 
    8080         
    8181    def connectionLost(self, reason): 
     
    8585 
    8686class 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) 
    8792 
    8893    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"]) 
    9396 
    9497    def sendMessageViaTransport(self,data): 
    95         self.sendMessage(data) 
     98        print "##########3Sending Message %s"  % data 
     99        cometd.Client.sendMessage(self,{"data":data,"channel":"/poker"}) 
     100 
    96101 
    97102 
     
    144149 
    145150        if "method" in nargs and not nargs["method"] == "get_update": 
    146             self.dataRecieved(encodejson(nargs)) 
     151            self.dataReceived(encodejson(nargs)) 
    147152 
    148153        self.checkWaiting() 
     
    180185 
    181186""" 
    182  
     187#cometd.verbose = False 
    183188 
    184189port = 8007#int(sys.argv[1]) 
     
    189194 
    190195comet = cometd.cometd() 
     196comet.ClientType = WebClient 
    191197 
    192198site = server.Site(comet) 
  • web/js/jquery.comet.js

    r35 r36  
    102102                        var fCallback = (fCallback) ? fCallback : function(sReturn) 
    103103                        { 
     104 
    104105                                var oReturn = (typeof sReturn != "object") ? (eval('(' + sReturn + ')')[0]) : sReturn[0]; 
    105106 
  • web/js/poker-client.js

    r35 r36  
    11var gstatus = null; 
    22var host = null; 
    3 var token = null; 
    43var table_name = null; 
    54var user_id = null; 
     
    5352        return root; 
    5453} 
    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                  
     54function 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 
    6866                if( stat.table_info ) { 
    6967                        ti = stat.table_info; 
     
    7169                        for( i in player_names ) { 
    7270                                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                                                } 
    8382                                        } 
    84                                 } 
    8583                                players[pn].updatePublic( ti.players[pn] ); 
    8684                        } 
    8785                } 
    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] 
    9290                                if( gs.player_actions[pn] ) { //if it's null let's create a new player object 
    9391                                        players[pn].updateActions( gs.player_actions[pn] ); 
    9492                                } 
     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 ); 
    95102                        } 
    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(); 
    107104                } 
    108105        } 
     
    111108function makeRequest( data ) { 
    112109        $.comet.publish("/poker",data); 
    113         $.comet.endBatch(); 
     110//$.comet.endBatch(); 
    114111 
    115112        //$.getJSON(host, 
     
    119116} 
    120117 
    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 } 
    130118 
    131119function Action( action, min, max ) { 
     
    176164                                                 return false; 
    177165                                         } 
    178                                          makeRequest({"method":"action", "action":this.name,"value":v,"token":token}); 
     166                                         makeRequest({"method":"action", "action":this.name,"value":v}); 
    179167                                         action_box.hide(); 
    180168                                         action_box.empty(); 
     
    183171 
    184172} 
    185  
    186173$(document).ready(function() { 
    187174        //$("form#connect_form").hide(); 
    188175                // 
    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)}); 
    194181                baseplayer = $("td#baseplayer"); 
    195182                baseplayer.parent().parent().remove();