Dateien hochladen nach „server“
parent
9ac77b7b38
commit
14cb5e1584
|
@ -0,0 +1,114 @@
|
|||
import os
|
||||
import random
|
||||
import string
|
||||
import ast
|
||||
import copy
|
||||
|
||||
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 = {}
|
||||
|
||||
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:
|
||||
if currentsessionids[i] == name:
|
||||
del currentsessionids[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
|
||||
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
|
||||
return temp
|
||||
else:
|
||||
return "name already used!"
|
||||
elif args["targetfunction"] == "update":
|
||||
updatefiles()
|
||||
sessionid = args["sessionid"]
|
||||
if sessionid in currentsessionids:
|
||||
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
|
||||
|
||||
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)
|
Loading…
Reference in New Issue