Dateien hochladen nach „servers“

master
Justus Jan Nico Wolff 2022-10-30 14:50:29 +01:00
parent ff6f27f1e3
commit c8675ae7bd
2 changed files with 160 additions and 0 deletions

View File

@ -0,0 +1,33 @@
import ast
import os
def GET(args, ressources):
if os.path.exists("states"):
file = open("states", 'r')
file = file.read()
file = ast.literal_eval(file)
if args["targetdict"] in file:
return file[args["targetdict"]]
else:
file[args["targetdict"]] = {}
file2 = open("states", 'w')
file2.write(str(file))
file2.close()
return {}
else:
file = open("states", 'w')
file.write(str({}))
file.close()
return {}
def PATCH(args, ressources):
if os.path.exists("states"):
file = open("states", 'r')
file = file.read()
file = ast.literal_eval(file)
else:
file = {}
print(args)
file[args["targetdict"]] = ast.literal_eval(args["dict"])
file2 = open("states", 'w')
file2.write(str(file))
file2.close()

View File

@ -0,0 +1,127 @@
import os
import random
import string
import ast
import copy
import time
if not os.path.exists("PM server/acc's"):
os.mkdir("PM server")
file = open("PM server/acc's", 'w')
file.write(str({}))
file.close()
file = open("PM server/conversations", 'w')
file.write(str({}))
file.close()
else:
file = open("PM server/acc's", 'r')
accounts = file.read()
accounts = ast.literal_eval(accounts)
file.close()
file = open("PM server/conversations", 'r')
conversations = file.read()
conversations = ast.literal_eval(conversations)
file.close()
currentsessionids = {}
sessiontime = {}
def updatefiles():
global accounts
global conversations
while True:
try:
file = open("PM server/acc's", 'r')
accounts = file.read()
accounts = ast.literal_eval(accounts)
file.close()
file = open("PM server/conversations", 'r')
conversations = file.read()
conversations = ast.literal_eval(conversations)
file.close()
break
except:
pass
def saveaccounts(target):
file = open("PM server/acc's", 'w')
file.write(str(target))
file.close()
def saveconversations(target):
file = open("PM server/conversations", 'w')
file.write(str(target))
file.close()
def GET(args, ressources=None):
function = args["targetfunction"]
if function == "getsessionid":
name = args["name"]
password = args["pass"]
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"
else:
return "account not found"
elif function == "register":
name = args["name"]
password = args["pass"]
if not name in accounts:
accounts[name] = {"pass": password}
saveaccounts(accounts)
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 "name already used!"
elif args["targetfunction"] == "update":
updatefiles()
sessionid = args["sessionid"]
if sessionid in currentsessionids:
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("<splitedaccountname>"):
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":
updatefiles()
sessionid = args["sessionid"]
message = args["message"]
name = currentsessionids[sessionid]
conversation = args["conversation"]
if conversation in conversations:
if name in conversation:
conversations[conversation] = conversations[conversation] + name + ":" + message + "\n"
saveconversations(conversations)
elif args["targetfunction"] == "newconv":
sessionid = args["sessionid"]
name = currentsessionids[sessionid]
target = args["target"]
if target in accounts:
conversations[name+"<splitedaccountname>"+target] = ""
saveconversations(conversations)