From 2a6aeb1bbeec80d53ad031e805531ab8b6e8b40c Mon Sep 17 00:00:00 2001 From: Justus Jan Nico Wolff Date: Sun, 30 Oct 2022 14:49:13 +0100 Subject: [PATCH] =?UTF-8?q?Dateien=20hochladen=20nach=20=E2=80=9Eserver?= =?UTF-8?q?=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/server.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/server/server.py b/server/server.py index 5704a21..e66adb1 100644 --- a/server/server.py +++ b/server/server.py @@ -3,6 +3,7 @@ import random import string import ast import copy +import time if not os.path.exists("PM server/acc's"): os.mkdir("PM server") @@ -23,6 +24,7 @@ else: file.close() currentsessionids = {} +sessiontime = {} def updatefiles(): global accounts @@ -56,15 +58,17 @@ def GET(args, ressources=None): if function == "getsessionid": name = args["name"] password = args["pass"] - for i in currentsessionids: + for i in currentsessionids.copy(): if currentsessionids[i] == name: del currentsessionids[i] + del sessiontime[i] if name in accounts: if accounts[name]["pass"] == password: temp = " " for i in range(1,20): temp = temp + random.choice(list(string.ascii_letters+string.digits)) currentsessionids[temp] = name + sessiontime[temp] = time.time() return temp else: return "wrong password" @@ -80,6 +84,7 @@ def GET(args, ressources=None): for i in range(1,20): temp = temp + random.choice(list(string.ascii_letters+string.digits)) currentsessionids[temp] = name + sessiontime[temp] = time.time() return temp else: return "name already used!" @@ -87,12 +92,20 @@ def GET(args, ressources=None): updatefiles() sessionid = args["sessionid"] if sessionid in currentsessionids: - name = currentsessionids[sessionid] - temp = [] - for i in conversations: - if name in i.split("&&"): - temp.append({"speakers": i, "conversation": copy.deepcopy(conversations[i])}) - return temp + lasttime = sessiontime[sessionid] + temp = time.time() - lasttime + if not temp > 60: + sessiontime[sessionid] = time.time() + name = currentsessionids[sessionid] + temp = [] + for i in conversations: + if name in i.split(""): + temp.append({"speakers": i, "conversation": copy.deepcopy(conversations[i])}) + return temp + else: + currentsessionids.pop(sessionid) + sessiontime.pop(sessionid) + return "sessionid ran out" def PATCH(args, ressources=None): if args["targetfunction"] == "send": @@ -110,5 +123,5 @@ def PATCH(args, ressources=None): name = currentsessionids[sessionid] target = args["target"] if target in accounts: - conversations[name+"&&"+target] = "" + conversations[name+""+target] = "" saveconversations(conversations)