Export template's message from `server_log()`
In order to use this method in the whole class. Update `__init__()` & `close()` to use `server_log()`. NO MORE `print()` in this class ;-)
This commit is contained in:
parent
703380ded6
commit
a14ef683cb
|
@ -51,7 +51,7 @@ class ConnectSocket:
|
||||||
_MSG_WELCOME = "Welcome. First do something usefull and type your name: "
|
_MSG_WELCOME = "Welcome. First do something usefull and type your name: "
|
||||||
_MSG_UNWELCOME = "Sorry, no more place here.\n"
|
_MSG_UNWELCOME = "Sorry, no more place here.\n"
|
||||||
_MSG_UNSUPPORTED = "Unsupported data:«{}»"
|
_MSG_UNSUPPORTED = "Unsupported data:«{}»"
|
||||||
_SERVER_LOG = "{}:{}|{}|{}"
|
_SERVER_LOG = "{}:{}|{name}|{msg}"
|
||||||
|
|
||||||
# Others const
|
# Others const
|
||||||
_MAX_CLIENT_NAME_LEN = 8
|
_MAX_CLIENT_NAME_LEN = 8
|
||||||
|
@ -80,8 +80,8 @@ class ConnectSocket:
|
||||||
self._user_name = []
|
self._user_name = []
|
||||||
self._user_name.append(self._MAIN_CONNECT)
|
self._user_name.append(self._MAIN_CONNECT)
|
||||||
|
|
||||||
# Print server's activity on console
|
# Logging server's activity
|
||||||
print(self._MSG_START_SERVER.format(port))
|
self.server_log(self._MSG_START_SERVER.format(port))
|
||||||
|
|
||||||
def broadcast(self, sender, message):
|
def broadcast(self, sender, message):
|
||||||
"""
|
"""
|
||||||
|
@ -115,13 +115,16 @@ class ConnectSocket:
|
||||||
self._CONNECTION = self._inputs.pop(0)
|
self._CONNECTION = self._inputs.pop(0)
|
||||||
i = 1
|
i = 1
|
||||||
for sckt in self._inputs:
|
for sckt in self._inputs:
|
||||||
self.server_log(*sckt.getpeername(), name=self._user_name[i],
|
self.server_log(self._SERVER_LOG.format(
|
||||||
msg="closed client sckt")
|
*sckt.getpeername(),
|
||||||
|
name=self._user_name[i],
|
||||||
|
msg="closed client socket")
|
||||||
|
)
|
||||||
sckt.close()
|
sckt.close()
|
||||||
i += 1
|
i += 1
|
||||||
self._inputs.clear()
|
self._inputs.clear()
|
||||||
self._CONNECTION.close()
|
self._CONNECTION.close()
|
||||||
print(self._MSG_SERVER_STOP)
|
self.server_log(self._MSG_SERVER_STOP)
|
||||||
|
|
||||||
def count_clients(self):
|
def count_clients(self):
|
||||||
"""
|
"""
|
||||||
|
@ -197,9 +200,9 @@ class ConnectSocket:
|
||||||
self._user_name.append(False)
|
self._user_name.append(False)
|
||||||
|
|
||||||
# LBS params override
|
# LBS params override
|
||||||
log_addr, log_port = sckt_addr
|
log_msg = self._SERVER_LOG.format(
|
||||||
log_name = "unknown"
|
*sckt_addr, name="unknown", msg="connected"
|
||||||
log_msg = "connected"
|
)
|
||||||
|
|
||||||
sckt_object.send(self._MSG_WELCOME.encode())
|
sckt_object.send(self._MSG_WELCOME.encode())
|
||||||
broadcasting = False
|
broadcasting = False
|
||||||
|
@ -208,7 +211,9 @@ class ConnectSocket:
|
||||||
# Refusing
|
# Refusing
|
||||||
else:
|
else:
|
||||||
sckt_object.send(self._MSG_UNWELCOME.encode())
|
sckt_object.send(self._MSG_UNWELCOME.encode())
|
||||||
self.server_log(*sckt_addr, name="unknow", msg="rejected")
|
self.server_log(self._SERVER_LOG.format(
|
||||||
|
*sckt_addr, name="unknow", msg="rejected"
|
||||||
|
))
|
||||||
sckt_object.close()
|
sckt_object.close()
|
||||||
break
|
break
|
||||||
|
|
||||||
|
@ -216,10 +221,6 @@ class ConnectSocket:
|
||||||
data = sckt.recv(self._BUFFER).decode().strip()
|
data = sckt.recv(self._BUFFER).decode().strip()
|
||||||
s_idx = self._inputs.index(sckt)
|
s_idx = self._inputs.index(sckt)
|
||||||
|
|
||||||
# LBS params override
|
|
||||||
log_addr, log_port = sckt.getpeername()
|
|
||||||
log_name = self._user_name[s_idx]
|
|
||||||
|
|
||||||
if self._user_name[s_idx] is False: # setting username
|
if self._user_name[s_idx] is False: # setting username
|
||||||
|
|
||||||
# insert username naming rule here
|
# insert username naming rule here
|
||||||
|
@ -232,8 +233,11 @@ class ConnectSocket:
|
||||||
self._user_name[s_idx] = data
|
self._user_name[s_idx] = data
|
||||||
|
|
||||||
# LBS params override
|
# LBS params override
|
||||||
log_name = data
|
log_msg = self._SERVER_LOG.format(
|
||||||
log_msg = "set user name"
|
*sckt.getpeername(),
|
||||||
|
name=data,
|
||||||
|
msg="set user name"
|
||||||
|
)
|
||||||
|
|
||||||
bdcst_msg = self._MSG_USER_IN
|
bdcst_msg = self._MSG_USER_IN
|
||||||
|
|
||||||
|
@ -242,7 +246,11 @@ class ConnectSocket:
|
||||||
elif data.upper() == "QUIT": # client quit network
|
elif data.upper() == "QUIT": # client quit network
|
||||||
|
|
||||||
# LBS params override
|
# LBS params override
|
||||||
log_msg = "disconnected"
|
log_msg = self._SERVER_LOG.format(
|
||||||
|
*sckt.getpeername(),
|
||||||
|
name=self._user_name[s_idx],
|
||||||
|
msg="disconnected"
|
||||||
|
)
|
||||||
|
|
||||||
# broadcasting params
|
# broadcasting params
|
||||||
bdcst_msg = self._MSG_DISCONNECTED
|
bdcst_msg = self._MSG_DISCONNECTED
|
||||||
|
@ -256,24 +264,32 @@ class ConnectSocket:
|
||||||
sckt.close()
|
sckt.close()
|
||||||
|
|
||||||
elif data:
|
elif data:
|
||||||
self.u_name, self.message = log_name, data
|
self.u_name, self.message = self._user_name[s_idx], data
|
||||||
|
|
||||||
# LBS params override
|
# LBS params override
|
||||||
log_msg = data
|
log_msg = self._SERVER_LOG.format(
|
||||||
|
*sckt.getpeername(),
|
||||||
|
name=self._user_name[s_idx],
|
||||||
|
msg=data
|
||||||
|
)
|
||||||
broadcasting = False
|
broadcasting = False
|
||||||
sending = False
|
sending = False
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
# LBS params override
|
# LBS params override
|
||||||
log_msg = self._MSG_UNSUPPORTED.format(data)
|
log_msg = self._SERVER_LOG.format(
|
||||||
|
*sckt.getpeername(),
|
||||||
|
name=self._user_name[s_idx],
|
||||||
|
msg=self._MSG_UNSUPPORTED.format(data)
|
||||||
|
)
|
||||||
|
|
||||||
send_msg = self._MSG_UNSUPPORTED+"\n".format(data)
|
send_msg = self._MSG_UNSUPPORTED+"\n".format(data)
|
||||||
|
|
||||||
broadcasting = False
|
broadcasting = False
|
||||||
|
|
||||||
if logging:
|
if logging:
|
||||||
self.server_log(log_addr, log_port, log_name, log_msg)
|
self.server_log(log_msg)
|
||||||
|
|
||||||
if broadcasting:
|
if broadcasting:
|
||||||
self.broadcast(sckt, bdcst_msg)
|
self.broadcast(sckt, bdcst_msg)
|
||||||
|
@ -281,10 +297,11 @@ class ConnectSocket:
|
||||||
if sending:
|
if sending:
|
||||||
sckt.send(send_msg.encode())
|
sckt.send(send_msg.encode())
|
||||||
|
|
||||||
def server_log(self, addr, port, name, msg):
|
def server_log(self, msg):
|
||||||
""" Log activity on server-side"""
|
""" Log activity on server-side"""
|
||||||
print(self._SERVER_LOG.format(addr, port, name, msg))
|
print(msg)
|
||||||
# writes in a logfile here TODO19
|
# writes in a logfile here TODO19
|
||||||
|
# adds a timestamp TODO20
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
- [ ] chat commands: chating with other players TODO16
|
- [ ] chat commands: chating with other players TODO16
|
||||||
- [ ] rename ConnectSocket._user_name to ConnectSocket._user_name TODO18
|
- [ ] rename ConnectSocket._user_name to ConnectSocket._user_name TODO18
|
||||||
- [ ] writes server logs in a file TODO19
|
- [ ] writes server logs in a file TODO19
|
||||||
|
- [ ] adds a timestamp to server logs TODO20
|
||||||
- [ ] … TODO
|
- [ ] … TODO
|
||||||
|
|
||||||
Ideas after correcting [exercice 3](https://openclassrooms.com/courses/apprenez-a-programmer-en-python/exercises/180):
|
Ideas after correcting [exercice 3](https://openclassrooms.com/courses/apprenez-a-programmer-en-python/exercises/180):
|
||||||
|
|
Loading…
Reference in New Issue