Poulet
This commit is contained in:
parent
1ffc04b5ff
commit
13023a5031
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
.idea/
|
||||
__pycache__/
|
||||
log
|
||||
dncserver.conf
|
||||
|
@ -56,7 +56,7 @@ class Log(object):
|
||||
Log Manager
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self,directory):
|
||||
"""
|
||||
Define 3 differents utils :
|
||||
activity.log -> all activity
|
||||
|
@ -1,7 +1,10 @@
|
||||
import argparse
|
||||
import os
|
||||
import socket
|
||||
import threading
|
||||
import sys
|
||||
import configparser
|
||||
import re
|
||||
from serveur import Log
|
||||
|
||||
|
||||
@ -49,6 +52,9 @@ def handleRequest(connection, data):
|
||||
if arrayData[0] == "/disable":
|
||||
disableUser(connection)
|
||||
return
|
||||
if arrayData[0] == "/quit" :
|
||||
quit(connection)
|
||||
return
|
||||
connection.send("ERR_COMMAND_NOT_FOUND".encode())
|
||||
else:
|
||||
if arrayData[0] == "/newname" :
|
||||
@ -57,7 +63,7 @@ def handleRequest(connection, data):
|
||||
if arrayData[0] == "/quit" :
|
||||
quit(connection)
|
||||
return
|
||||
connection.send("CMD_NOT_ALLOWED".encode())
|
||||
connection.send("ERR_NO_NICKNAME".encode())
|
||||
"""except Exception as e :
|
||||
log.printL(str(e), Log.lvl.FAIL)"""
|
||||
|
||||
@ -65,7 +71,10 @@ def handleRequest(connection, data):
|
||||
def broadcastMsg(message):
|
||||
for con, value in usersConnected.items() :
|
||||
if usersConnected[con][1] is not None :
|
||||
try:
|
||||
con.send(message.encode())
|
||||
except Exception as e :
|
||||
log.printL(str(e), Log.lvl.FAIL)
|
||||
|
||||
|
||||
def userListActive(connection):
|
||||
@ -85,6 +94,9 @@ def userListAway(connection):
|
||||
|
||||
|
||||
def changeName(connection, pseudo):
|
||||
if not re.match("^\w{3,15}$",pseudo) :
|
||||
connection.send("ERR_INVALID_NICKNAME".encode())
|
||||
else:
|
||||
broadcastMsg("NAME_CHANGED {} {}".format(usersConnected[connection][1], pseudo))
|
||||
usersConnected[connection][1] = pseudo
|
||||
|
||||
@ -105,9 +117,7 @@ def askPrivateMsg(connection,pseudo):
|
||||
connection.send("ALREADY_ASKED".encode())
|
||||
else:
|
||||
askPM.append(pm)
|
||||
c.send("NEW_MESSAGE {0} demande une conversation privé \n"
|
||||
"/acceptpm {0} pour accepter\n"
|
||||
"/reject {0} pour refuser".format(pseudo))
|
||||
c.send("ASKING_FOR_PM {}".format(pseudo).encode())
|
||||
connection.send("SUCC_INVITED".encode())
|
||||
|
||||
|
||||
@ -190,23 +200,23 @@ def main():
|
||||
global askFT, validateFT
|
||||
askPM = []
|
||||
validatePM = []
|
||||
log = Log.Log()
|
||||
|
||||
#Configuration
|
||||
parser = argparse.ArgumentParser(usage="usage='%(prog)s [options]",description='Server DNC')
|
||||
parser.add_argument('--port', type=int, dest='port', action='store',
|
||||
default=8000, help='port (default=8000)')
|
||||
parser.add_argument('--usermax', type=int, dest='usermax', action='store',
|
||||
default=None, help='usermax (default=None)')
|
||||
args = parser.parse_args()
|
||||
log.printL("Configuration load {}".format(args), Log.lvl.INFO)
|
||||
log.printL("Server start", Log.lvl.INFO)
|
||||
config = configparser.ConfigParser()
|
||||
if not os.path.isfile("dncserver.conf") :
|
||||
config['NETWORK'] = {'port': '2222'}
|
||||
config['LOG'] = {'logDirectory': 'log'}
|
||||
with open('dncserver.conf', 'w') as configfile:
|
||||
config.write(configfile)
|
||||
config.read("dncserver.conf")
|
||||
log = Log.Log(config["LOG"]["logdirectory"])
|
||||
|
||||
|
||||
#Init socket serv
|
||||
sock = socket.socket()
|
||||
sock.bind(("", args.port))
|
||||
sock.bind(("", int(config["NETWORK"]["port"])))
|
||||
sock.listen(5)
|
||||
log.printL("Server Listen on port {}".format(args.port), Log.lvl.INFO)
|
||||
log.printL("Server Listen on port {}".format(config["NETWORK"]["port"]), Log.lvl.INFO)
|
||||
|
||||
|
||||
try :
|
||||
|
Reference in New Issue
Block a user