Quellcode durchsuchen

added a flag to enable ip logging, improved code style

digital vor 8 Jahren
Ursprung
Commit
fb728c0272
1 geänderte Dateien mit 23 neuen und 26 gelöschten Zeilen
  1. 23 26
      network/__init__.py

+ 23 - 26
network/__init__.py

@@ -42,28 +42,18 @@ class ConnHandlerBase(object):
         self.block_size = 1024
         self.welcome_client()
         self.status="connected"
+
     def welcome_client(self):
         pass
-    def handle(self, data_decoded):
+
+    def handle(self, data):
         return
+
     def recv(self):
         data_received = self.socket.recv(self.block_size)
         data_decoded = data_received.decode("utf-8")
         return data_decoded
-    # def recv(self):
-    #     try:
-    #         data_received = self.socket.recv(self.block_size)
-    #         data_decoded = data_received.decode("utf-8")
-    #         if data_decoded:
-    #             lschat.info("Client:"+data_decoded.strip())
-    #             self.handle(data_decoded)
-    #             return True
-    #         else:
-    #             lserver.debug("connection corrupted")
-    #             return False
-    #     except Exception as e:
-    #         lserver.error(e, exc_info=True)
-    #     return False
+
     def send(self, msg):
         msg_encoded = bytes(msg, "utf-8")
         lschat.info("Server:"+msg)
@@ -73,16 +63,17 @@ class ConnHandlerBase(object):
         except Exception as e:
             lserver.error(e, exc_info=True)
             return False
+
     def close(self):
         self.status = "closed"
         try:
             self.socket.shutdown(0)
         except:
-            lserver.error("error during socket shutdown, ignoring")
+            lserver.debug("error during socket shutdown")
         try:
             self.socket.close()
         except:
-            lserver.error("error closing socket, maybe already closed")
+            lserver.debug("error closing socket")
 
 
 class ConnHandlerEcho(ConnHandlerBase):
@@ -93,10 +84,10 @@ class ConnHandlerEcho(ConnHandlerBase):
         self.server = server
     def welcome_client(self):
         self.send("welcome to the client")
-    def handle(self, data_decoded):
-        lschat.info("Client:"+data_decoded)
+    def handle(self, data):
+        lschat.info("Client:"+data)
         for h in list(set(self.server.connection_handler)-{self}):
-            h.send(data_decoded)
+            h.send(data)
 
 class Server(object):
     """docstring for SocketHandler"""
@@ -127,6 +118,7 @@ class Server(object):
         self.read_sockets_expected = [self.socket]
         self.write_sockets_expected = []
         self.exc_sockets_expected = []
+
     def make_socket(self):
         lserver.debug("making a {} socket".format(self.af_family))
         if self.af_family == "AF_INET":
@@ -139,8 +131,10 @@ class Server(object):
                     self.af_family
                 )
             )
+
     def make_handler(self, conn, addr):
         return self.handler(conn, addr, self, **self.handler_kwargs)
+
     def register_conn(self, conn, addr):
         # if self.log_ip:
         #     lserver.info("New connection from {} on port {}".format(*addr))
@@ -148,20 +142,24 @@ class Server(object):
         if addr:
             self.conn_to_addr[conn] = addr
             self.addr_to_conn[addr] = conn
+
     def unregister_conn(self, conn):
         self.read_sockets_expected.remove(conn)
         addr = self.conn_to_addr.get(conn, False)
         if addr:
             del self.addr_to_conn[addr]
             del self.conn_to_addr[conn]
+
     def register_handler(self, handler, conn):
         self.connection_handler.append(handler)
         self.conn_to_handler[conn] = handler
         self.handler_to_conn[handler] = conn
+
     def unregister_handler(self, handler, conn):
         self.connection_handler.remove(handler)
         del self.conn_to_handler[conn]
         del self.handler_to_conn[handler]
+
     def setup(self):
         lserver.info("setting up socket")
         if self.af_family == "AF_INET":
@@ -174,6 +172,7 @@ class Server(object):
             self.socket.bind(self.host)
         self.socket.listen(self.max_allowed_clients)
         # self.socket.settimeout(1)
+
     def run(self):
         self.setup()
         lserver.debug("entering main loop")
@@ -193,12 +192,9 @@ class Server(object):
                 if ( s == self.socket ):
                     lserver.debug("handling new client")
                     conn, addr = self.socket.accept()
-                    lserver.info(
-                        "New connection from {} on port {}".format(*addr))
-                    lserver.debug("peername: '{}', sockname: '{}'".format(
-                        conn.getpeername(),
-                        conn.getsockname(),
-                    ))
+                    if self.log_ip:
+                        lserver.info(
+                            "New connection from {} on port {}".format(*addr))
                     handler = self.make_handler(conn, addr)
                     self.register_conn(conn, addr)
                     self.register_handler(handler, conn)
@@ -221,6 +217,7 @@ class Server(object):
                     lserver.debug("else!")
                     lserver.debug(socket_handler)
                     time.sleep(1)
+
         def cleanup(self):
             pass