Browse Source

formatting

Dave Schuyler 21 years ago
parent
commit
728483764d
2 changed files with 87 additions and 97 deletions
  1. 74 84
      direct/src/distributed/ServerRepository.py
  2. 13 13
      direct/src/showbase/Messenger.py

+ 74 - 84
direct/src/distributed/ServerRepository.py

@@ -211,21 +211,21 @@ class ServerRepository:
         type = dgi.getUint16()
         type = dgi.getUint16()
 
 
         if type == CLIENT_DISCONNECT:
         if type == CLIENT_DISCONNECT:
-                self.handleClientDisconnect(datagram.getConnection())
+            self.handleClientDisconnect(datagram.getConnection())
         elif type == CLIENT_SET_ZONE:
         elif type == CLIENT_SET_ZONE:
-                self.handleSetZone(dgi, datagram.getConnection())
+            self.handleSetZone(dgi, datagram.getConnection())
         elif type == CLIENT_REMOVE_ZONE:
         elif type == CLIENT_REMOVE_ZONE:
-                self.handleRemoveZone(dgi, datagram.getConnection())
+            self.handleRemoveZone(dgi, datagram.getConnection())
         elif type == CLIENT_CREATE_OBJECT_REQUIRED:
         elif type == CLIENT_CREATE_OBJECT_REQUIRED:
-                self.handleClientCreateObjectRequired(datagram, dgi)
+            self.handleClientCreateObjectRequired(datagram, dgi)
         elif type == CLIENT_OBJECT_UPDATE_FIELD:
         elif type == CLIENT_OBJECT_UPDATE_FIELD:
-                self.handleClientUpdateField(datagram, dgi)
+            self.handleClientUpdateField(datagram, dgi)
         elif type == CLIENT_OBJECT_DELETE:
         elif type == CLIENT_OBJECT_DELETE:
-                self.handleClientDeleteObject(datagram, dgi.getUint32())
+            self.handleClientDeleteObject(datagram, dgi.getUint32())
         elif type == CLIENT_OBJECT_DISABLE:
         elif type == CLIENT_OBJECT_DISABLE:
-                self.handleClientDisable(datagram, dgi.getUint32())
+            self.handleClientDisable(datagram, dgi.getUint32())
         else:
         else:
-                self.notify.error("unrecognized message")
+            self.notify.error("unrecognized message")
 
 
 # client wants to create an object, so we store appropriate data,
 # client wants to create an object, so we store appropriate data,
 # and then pass message along to corresponding zones
 # and then pass message along to corresponding zones
@@ -245,20 +245,19 @@ class ServerRepository:
         datagram.appendData(rest)
         datagram.appendData(rest)
         dclass = self.dclassesByNumber[classid]
         dclass = self.dclassesByNumber[classid]
         if self.ClientObjects[connection].count(doid) == 0:
         if self.ClientObjects[connection].count(doid) == 0:
-                self.ClientObjects[connection].append(doid)
+            self.ClientObjects[connection].append(doid)
         self.DOIDtoZones[doid] = zone
         self.DOIDtoZones[doid] = zone
         self.DOIDtoDClass[doid] = dclass
         self.DOIDtoDClass[doid] = dclass
         if zone in self.ZonetoDOIDs:
         if zone in self.ZonetoDOIDs:
-                if self.ZonetoDOIDs[zone].count(doid)==0:
-                        self.ZonetoDOIDs[zone].append(doid)
+            if self.ZonetoDOIDs[zone].count(doid)==0:
+                self.ZonetoDOIDs[zone].append(doid)
         else:
         else:
-                self.ZonetoDOIDs[zone] = [doid]
+            self.ZonetoDOIDs[zone] = [doid]
         self.sendToZoneExcept(zone, datagram, connection)
         self.sendToZoneExcept(zone, datagram, connection)
-        return None
 
 
 
 
-# client wants to update an object, forward message along
-# to corresponding zone
+    # client wants to update an object, forward message along
+    # to corresponding zone
 
 
     def handleClientUpdateField(self, datagram, dgi):
     def handleClientUpdateField(self, datagram, dgi):
         connection = datagram.getConnection()
         connection = datagram.getConnection()
@@ -282,28 +281,25 @@ class ServerRepository:
         else:
         else:
           self.notify.warning(
           self.notify.warning(
                 "Message is not broadcast, p2p, or broadcast+p2p")
                 "Message is not broadcast, p2p, or broadcast+p2p")
-        return None
 
 
-# client disables an object, let everyone know who is in
-# that zone know about it
+    # client disables an object, let everyone know who is in
+    # that zone know about it
 
 
     def handleClientDisable(self, datagram, doid):
     def handleClientDisable(self, datagram, doid):
         # now send disable message to all clients that need to know
         # now send disable message to all clients that need to know
         if doid in self.DOIDtoZones:
         if doid in self.DOIDtoZones:
-                self.sendToZoneExcept(self.DOIDtoZones[doid], datagram, 0)
-        return None
+            self.sendToZoneExcept(self.DOIDtoZones[doid], datagram, 0)
 
 
-# client deletes an object, let everyone who is in zone with
-# object know about it
+    # client deletes an object, let everyone who is in zone with
+    # object know about it
 
 
     def handleClientDeleteObject(self, datagram, doid):
     def handleClientDeleteObject(self, datagram, doid):
         if doid in self.DOIDtoZones:
         if doid in self.DOIDtoZones:
-                self.sendToZoneExcept(self.DOIDtoZones[doid], datagram, 0)
-                self.ClientObjects[datagram.getConnection()].remove(doid)
-                self.ZonetoDOIDs[self.DOIDtoZones[doid]].remove(doid)
-                del self.DOIDtoZones[doid]
-                del self.DOIDtoDClass[doid]
-        return None
+            self.sendToZoneExcept(self.DOIDtoZones[doid], datagram, 0)
+            self.ClientObjects[datagram.getConnection()].remove(doid)
+            self.ZonetoDOIDs[self.DOIDtoZones[doid]].remove(doid)
+            del self.DOIDtoZones[doid]
+            del self.DOIDtoDClass[doid]
 
 
     def sendAvatarGenerate(self):
     def sendAvatarGenerate(self):
         datagram = PyDatagram()
         datagram = PyDatagram()
@@ -317,7 +313,7 @@ class ServerRepository:
         datagram.addUint32(999)
         datagram.addUint32(999)
         self.cw.send(datagram, self.lastConnection)
         self.cw.send(datagram, self.lastConnection)
 
 
-#  sends the client the range of doid's that the client can use
+    #  sends the client the range of doid's that the client can use
 
 
     def sendDOIDrange(self, connection):
     def sendDOIDrange(self, connection):
         # reuse DOID assignments if we can
         # reuse DOID assignments if we can
@@ -331,87 +327,81 @@ class ServerRepository:
         datagram.addUint32(self.DOIDrange)
         datagram.addUint32(self.DOIDrange)
         print "Sending DOID range: ",id,self.DOIDrange
         print "Sending DOID range: ",id,self.DOIDrange
         self.cw.send(datagram, connection)
         self.cw.send(datagram, connection)
-        return None
 
 
     # a client disconnected from us, we need to update our data, also tell other clients to remove
     # a client disconnected from us, we need to update our data, also tell other clients to remove
     # the disconnected clients objects
     # the disconnected clients objects
     def handleClientDisconnect(self, connection):
     def handleClientDisconnect(self, connection):
         if (self.ClientIP.has_key(connection)):
         if (self.ClientIP.has_key(connection)):
-                del self.DOIDtoClient[self.ClientDOIDbase[connection]]
-                for zone in self.ClientZones[connection]:
-                        if len(self.ZonesToClients[zone]) == 1:
-                                del self.ZonesToClients[zone]
-                        else:
-                                self.ZonesToClients[zone].remove(connection)
-                for obj in self.ClientObjects[connection]:
-                        #create and send delete message
-                        datagram = NetDatagram()
-                        datagram.addUint16(CLIENT_OBJECT_DELETE_RESP)
-                        datagram.addUint32(obj)
-                        self.sendToZoneExcept(self.DOIDtoZones[obj], datagram, 0)
-                        self.ZonetoDOIDs[self.DOIDtoZones[obj]].remove(obj)
-                        del self.DOIDtoZones[obj]
-                        del self.DOIDtoDClass[obj]
-                del self.ClientIP[connection]
-                del self.ClientZones[connection]
-                del self.ClientDOIDbase[connection]
-                del self.ClientObjects[connection]
-        return None
+            del self.DOIDtoClient[self.ClientDOIDbase[connection]]
+            for zone in self.ClientZones[connection]:
+                if len(self.ZonesToClients[zone]) == 1:
+                    del self.ZonesToClients[zone]
+                else:
+                    self.ZonesToClients[zone].remove(connection)
+            for obj in self.ClientObjects[connection]:
+                #create and send delete message
+                datagram = NetDatagram()
+                datagram.addUint16(CLIENT_OBJECT_DELETE_RESP)
+                datagram.addUint32(obj)
+                self.sendToZoneExcept(self.DOIDtoZones[obj], datagram, 0)
+                self.ZonetoDOIDs[self.DOIDtoZones[obj]].remove(obj)
+                del self.DOIDtoZones[obj]
+                del self.DOIDtoDClass[obj]
+            del self.ClientIP[connection]
+            del self.ClientZones[connection]
+            del self.ClientDOIDbase[connection]
+            del self.ClientObjects[connection]
 
 
     #  client told us it's zone(s), store information
     #  client told us it's zone(s), store information
     def handleSetZone(self, dgi, connection):
     def handleSetZone(self, dgi, connection):
         while dgi.getRemainingSize() > 0:
         while dgi.getRemainingSize() > 0:
-                ZoneID = dgi.getUint32()
-                if self.ClientZones[connection].count(ZoneID) == 0:
-                        self.ClientZones[connection].append(ZoneID)
-                if ZoneID in self.ZonesToClients:
-                        if self.ZonesToClients[ZoneID].count(connection) == 0:
-                                self.ZonesToClients[ZoneID].append(connection)
-                else:
-                        self.ZonesToClients[ZoneID] = [connection]
+            ZoneID = dgi.getUint32()
+            if self.ClientZones[connection].count(ZoneID) == 0:
+                self.ClientZones[connection].append(ZoneID)
+            if ZoneID in self.ZonesToClients:
+                if self.ZonesToClients[ZoneID].count(connection) == 0:
+                    self.ZonesToClients[ZoneID].append(connection)
+            else:
+                self.ZonesToClients[ZoneID] = [connection]
 
 
-                # We have a new member, need to get all of the data from clients who may have objects in this zone
-                datagram = NetDatagram()
-                datagram.addUint16(CLIENT_REQUEST_GENERATES)
-                datagram.addUint32(ZoneID)
-                self.sendToAll(datagram)
-                print "SENDING REQUEST GENERATES (",ZoneID,") TO ALL"
-        return None
+            # We have a new member, need to get all of the data from clients who may have objects in this zone
+            datagram = NetDatagram()
+            datagram.addUint16(CLIENT_REQUEST_GENERATES)
+            datagram.addUint32(ZoneID)
+            self.sendToAll(datagram)
+            print "SENDING REQUEST GENERATES (",ZoneID,") TO ALL"
 
 
     # client has moved zones, need to update them
     # client has moved zones, need to update them
     def handleRemoveZone(self, dgi, connection):
     def handleRemoveZone(self, dgi, connection):
         while dgi.getRemainingSize() > 0:
         while dgi.getRemainingSize() > 0:
-                ZoneID = dgi.getUint32()
-                if self.ClientZones[connection].count(ZoneID) == 1:
-                        self.ClientZones[connection].remove(ZoneID)
-                if ZoneID in self.ZonesToClients:
-                        if self.ZonesToClients[ZoneID].count(connection) == 1:
-                                self.ZonesToClients[ZoneID].remove(connection)
-                for i in self.ZonetoDOIDs[ZoneID]:
-                        datagram = NetDatagram()
-                        datagram.addUint16(CLIENT_OBJECT_DELETE)
-                        datagram.addUint32(i)
-                        self.cw.send(datagram, connection)
-        return None
+            ZoneID = dgi.getUint32()
+            if self.ClientZones[connection].count(ZoneID) == 1:
+                self.ClientZones[connection].remove(ZoneID)
+            if ZoneID in self.ZonesToClients:
+                if self.ZonesToClients[ZoneID].count(connection) == 1:
+                    self.ZonesToClients[ZoneID].remove(connection)
+            for i in self.ZonetoDOIDs[ZoneID]:
+                datagram = NetDatagram()
+                datagram.addUint16(CLIENT_OBJECT_DELETE)
+                datagram.addUint32(i)
+                self.cw.send(datagram, connection)
 
 
     # client did not tell us he was leaving but we lost connection to him, so we need to update our data and tell others
     # client did not tell us he was leaving but we lost connection to him, so we need to update our data and tell others
 
 
     def clientHardDisconnectTask(self, task):
     def clientHardDisconnectTask(self, task):
         for i in self.ClientIP.keys():
         for i in self.ClientIP.keys():
-                if (not self.qcr.isConnectionOk(i)):
-                        self.handleClientDisconnect(i)
+            if not self.qcr.isConnectionOk(i):
+                self.handleClientDisconnect(i)
         return Task.cont
         return Task.cont
 
 
-
     # sends a message to everyone who is in the zone
     # sends a message to everyone who is in the zone
     def sendToZoneExcept(self, ZoneID, datagram, connection):
     def sendToZoneExcept(self, ZoneID, datagram, connection):
         if ZoneID in self.ZonesToClients:
         if ZoneID in self.ZonesToClients:
-                for conn in self.ZonesToClients[ZoneID]:
-                        if (conn != connection): self.cw.send(datagram, conn)
-        return None
+            for conn in self.ZonesToClients[ZoneID]:
+                if (conn != connection):
+                    self.cw.send(datagram, conn)
 
 
     # sends a message to all connected clients
     # sends a message to all connected clients
     def sendToAll(self, datagram):
     def sendToAll(self, datagram):
         for client in self.ClientIP.keys():
         for client in self.ClientIP.keys():
             self.cw.send(datagram, client)
             self.cw.send(datagram, client)
-        return None

+ 13 - 13
direct/src/showbase/Messenger.py

@@ -14,7 +14,7 @@ class Messenger:
                        object2: [method, extraArgs, persistent]},
                        object2: [method, extraArgs, persistent]},
              event2 : {object1: [method, extraArgs, persistent],
              event2 : {object1: [method, extraArgs, persistent],
                        object2: [method, extraArgs, persistent]}}
                        object2: [method, extraArgs, persistent]}}
-                       
+
         This dictionary allow for efficient callbacks when the messenger
         This dictionary allow for efficient callbacks when the messenger
         hears an event.
         hears an event.
 
 
@@ -37,14 +37,14 @@ class Messenger:
         # under __debug__.
         # under __debug__.
         self.quieting={"NewFrame":1, "avatarMoving":1} # see def quiet()
         self.quieting={"NewFrame":1, "avatarMoving":1} # see def quiet()
 
 
-        
+
     def accept(self, event, object, method, extraArgs=[], persistent=1):
     def accept(self, event, object, method, extraArgs=[], persistent=1):
         """ accept(self, string, DirectObject, Function, List, Boolean)
         """ accept(self, string, DirectObject, Function, List, Boolean)
-        
+
         Make this object accept this event. When the event is
         Make this object accept this event. When the event is
         sent (using Messenger.send or from C++), method will be executed,
         sent (using Messenger.send or from C++), method will be executed,
         optionally passing in extraArgs.
         optionally passing in extraArgs.
-        
+
         If the persistent flag is set, it will continue to respond
         If the persistent flag is set, it will continue to respond
         to this event, otherwise it will respond only once.
         to this event, otherwise it will respond only once.
         """
         """
@@ -54,7 +54,7 @@ class Messenger:
                                    + '\n method: ' + `method`
                                    + '\n method: ' + `method`
                                    + '\n extraArgs: ' + `extraArgs`
                                    + '\n extraArgs: ' + `extraArgs`
                                    + '\n persistent: ' + `persistent`)
                                    + '\n persistent: ' + `persistent`)
-            
+
         acceptorDict = self.__callbacks.setdefault(event, {})
         acceptorDict = self.__callbacks.setdefault(event, {})
         acceptorDict[object] = [method, extraArgs, persistent]
         acceptorDict[object] = [method, extraArgs, persistent]
 
 
@@ -93,9 +93,9 @@ class Messenger:
         Useful for cleanup
         Useful for cleanup
         """
         """
         if Messenger.notify.getDebug():
         if Messenger.notify.getDebug():
-            Messenger.notify.debug(`object` + '\n now ignoring all events')            
+            Messenger.notify.debug(`object` + '\n now ignoring all events')
         # Get the list of events this object is listening to
         # Get the list of events this object is listening to
-        eventDict = self.__objectEvents.get(object)        
+        eventDict = self.__objectEvents.get(object)
         if eventDict:
         if eventDict:
             for event in eventDict.keys():
             for event in eventDict.keys():
                 # Find the dictionary of all the objects accepting this event
                 # Find the dictionary of all the objects accepting this event
@@ -110,7 +110,7 @@ class Messenger:
             del self.__objectEvents[object]
             del self.__objectEvents[object]
 
 
     def isAccepting(self, event, object):
     def isAccepting(self, event, object):
-        """ isAccepting(self, string, DirectOject)        
+        """ isAccepting(self, string, DirectOject)
         Is this object accepting this event?
         Is this object accepting this event?
         """
         """
         acceptorDict = self.__callbacks.get(event)
         acceptorDict = self.__callbacks.get(event)
@@ -126,7 +126,7 @@ class Messenger:
         Return objects accepting the given event
         Return objects accepting the given event
         """
         """
         return self.__callbacks.get(event)
         return self.__callbacks.get(event)
-        
+
     def isIgnoring(self, event, object):
     def isIgnoring(self, event, object):
         """ isIgnorning(self, string, DirectObject)
         """ isIgnorning(self, string, DirectObject)
         Is this object ignoring this event?
         Is this object ignoring this event?
@@ -138,7 +138,7 @@ class Messenger:
         event is usually a string.
         event is usually a string.
         sentArgs is a list of any data that you want passed along to the
         sentArgs is a list of any data that you want passed along to the
             handlers listening to this event.
             handlers listening to this event.
-        
+
         Send this event, optionally passing in arguments
         Send this event, optionally passing in arguments
         """
         """
         if Messenger.notify.getDebug() and not self.quieting.get(event):
         if Messenger.notify.getDebug() and not self.quieting.get(event):
@@ -209,7 +209,7 @@ class Messenger:
 
 
     def getEvents(self):
     def getEvents(self):
         return self.__callbacks.keys()
         return self.__callbacks.keys()
-        
+
     def replaceMethod(self, oldMethod, newFunction):
     def replaceMethod(self, oldMethod, newFunction):
         """
         """
         This is only used by Finder.py - the module that lets
         This is only used by Finder.py - the module that lets
@@ -239,7 +239,7 @@ class Messenger:
                     retFlag += 1
                     retFlag += 1
         # didn't find that method, return false
         # didn't find that method, return false
         return retFlag
         return retFlag
-    
+
     def toggleVerbose(self):
     def toggleVerbose(self):
         isVerbose = 1 - Messenger.notify.getDebug()
         isVerbose = 1 - Messenger.notify.getDebug()
         Messenger.notify.setDebug(isVerbose)
         Messenger.notify.setDebug(isVerbose)
@@ -356,7 +356,7 @@ class Messenger:
             str += "%s:\n" % object
             str += "%s:\n" % object
             for event in eventDict.keys():
             for event in eventDict.keys():
                 str += "     %s\n" % event
                 str += "     %s\n" % event
-            
+
         str += "="*64 + "\n" + "End of messenger info.\n"
         str += "="*64 + "\n" + "End of messenger info.\n"
         return str
         return str