Fix WI for UI1

This commit is contained in:
jojorne
2023-06-22 18:04:43 -03:00
parent adf108ecd6
commit f8962d0636

View File

@@ -2560,7 +2560,7 @@ def execute_outmod():
# Event triggered when browser SocketIO is loaded and connects to server # Event triggered when browser SocketIO is loaded and connects to server
#==================================================================# #==================================================================#
@socketio.on('connect') @socketio.on('connect')
def do_connect(): def do_connect(_):
print("Connection Attempt: " + request.remote_addr) print("Connection Attempt: " + request.remote_addr)
if allowed_ips: if allowed_ips:
print("Allowed?: ", request.remote_addr in allowed_ips) print("Allowed?: ", request.remote_addr in allowed_ips)
@@ -4279,7 +4279,7 @@ def togglewimode():
# #
#==================================================================# #==================================================================#
def addwiitem(folder_uid=None): def addwiitem(folder_uid=None):
assert folder_uid is None or folder_uid in koboldai_vars.wifolders_d assert folder_uid is None or str(folder_uid) in koboldai_vars.wifolders_d
ob = {"key": "", "keysecondary": "", "content": "", "comment": "", "folder": folder_uid, "num": len(koboldai_vars.worldinfo), "init": False, "selective": False, "constant": False} ob = {"key": "", "keysecondary": "", "content": "", "comment": "", "folder": folder_uid, "num": len(koboldai_vars.worldinfo), "init": False, "selective": False, "constant": False}
koboldai_vars.worldinfo.append(ob) koboldai_vars.worldinfo.append(ob)
while(True): while(True):
@@ -4289,7 +4289,7 @@ def addwiitem(folder_uid=None):
koboldai_vars.worldinfo_u[uid] = koboldai_vars.worldinfo[-1] koboldai_vars.worldinfo_u[uid] = koboldai_vars.worldinfo[-1]
koboldai_vars.worldinfo[-1]["uid"] = uid koboldai_vars.worldinfo[-1]["uid"] = uid
if(folder_uid is not None): if(folder_uid is not None):
koboldai_vars.wifolders_u[folder_uid].append(koboldai_vars.worldinfo[-1]) koboldai_vars.wifolders_u[str(folder_uid)].append(koboldai_vars.worldinfo[-1])
emit('from_server', {'cmd': 'addwiitem', 'data': ob}, broadcast=True, room="UI_1") emit('from_server', {'cmd': 'addwiitem', 'data': ob}, broadcast=True, room="UI_1")
#==================================================================# #==================================================================#
@@ -4313,19 +4313,20 @@ def addwifolder():
#==================================================================# #==================================================================#
def movewiitem(dst, src): def movewiitem(dst, src):
setgamesaved(False) setgamesaved(False)
if(koboldai_vars.worldinfo_u[src]["folder"] is not None): if(koboldai_vars.worldinfo_u[str(src)]["folder"] is not None):
for i, e in enumerate(koboldai_vars.wifolders_u[koboldai_vars.worldinfo_u[src]["folder"]]): for i, e in enumerate(koboldai_vars.wifolders_u[str(koboldai_vars.worldinfo_u[str(src)]["folder"])]):
if(e is koboldai_vars.worldinfo_u[src]): if(e == koboldai_vars.worldinfo_u[str(src)]):
koboldai_vars.wifolders_u[koboldai_vars.worldinfo_u[src]["folder"]].pop(i) koboldai_vars.wifolders_u[str(koboldai_vars.worldinfo_u[str(src)]["folder"])].pop(i)
break break
if(koboldai_vars.worldinfo_u[dst]["folder"] is not None): if(koboldai_vars.worldinfo_u[str(dst)]["folder"] is not None):
koboldai_vars.wifolders_u[koboldai_vars.worldinfo_u[dst]["folder"]].append(koboldai_vars.worldinfo_u[src]) koboldai_vars.wifolders_u[str(koboldai_vars.worldinfo_u[str(dst)]["folder"])].append(koboldai_vars.worldinfo_u[str(src)])
koboldai_vars.worldinfo_u[src]["folder"] = koboldai_vars.worldinfo_u[dst]["folder"] koboldai_vars.worldinfo_u[str(src)]["folder"] = koboldai_vars.worldinfo_u[str(dst)]["folder"]
for i, e in enumerate(koboldai_vars.worldinfo): for i, e in enumerate(koboldai_vars.worldinfo):
if(e is koboldai_vars.worldinfo_u[src]): if(e["uid"] == koboldai_vars.worldinfo_u[str(src)]["uid"]):
_src = i _src = i
elif(e is koboldai_vars.worldinfo_u[dst]): elif(e["uid"] == koboldai_vars.worldinfo_u[str(dst)]["uid"]):
_dst = i _dst = i
koboldai_vars.worldinfo[_src]["folder"] = koboldai_vars.worldinfo[_dst]["folder"]
koboldai_vars.worldinfo.insert(_dst - (_dst >= _src), koboldai_vars.worldinfo.pop(_src)) koboldai_vars.worldinfo.insert(_dst - (_dst >= _src), koboldai_vars.worldinfo.pop(_src))
sendwi() sendwi()
@@ -4335,12 +4336,12 @@ def movewiitem(dst, src):
#==================================================================# #==================================================================#
def movewifolder(dst, src): def movewifolder(dst, src):
setgamesaved(False) setgamesaved(False)
koboldai_vars.wifolders_l.remove(src) koboldai_vars.wifolders_l.remove(str(src))
if(dst is None): if(dst is None):
# If dst is None, that means we should move src to be the last folder # If dst is None, that means we should move src to be the last folder
koboldai_vars.wifolders_l.append(src) koboldai_vars.wifolders_l.append(str(src))
else: else:
koboldai_vars.wifolders_l.insert(koboldai_vars.wifolders_l.index(dst), src) koboldai_vars.wifolders_l.insert(koboldai_vars.wifolders_l.index(str(dst)), str(src))
sendwi() sendwi()
#==================================================================# #==================================================================#
@@ -4388,7 +4389,7 @@ def requestwi():
#==================================================================# #==================================================================#
def stablesortwi(): def stablesortwi():
mapping = {uid: index for index, uid in enumerate(koboldai_vars.wifolders_l)} mapping = {uid: index for index, uid in enumerate(koboldai_vars.wifolders_l)}
koboldai_vars.worldinfo.sort(key=lambda x: mapping[x["folder"]] if x["folder"] is not None else float("inf")) koboldai_vars.worldinfo.sort(key=lambda x: mapping[str(x["folder"])] if x["folder"] is not None else float("inf"))
last_folder = ... last_folder = ...
last_wi = None last_wi = None
for i, wi in enumerate(koboldai_vars.worldinfo): for i, wi in enumerate(koboldai_vars.worldinfo):
@@ -4432,9 +4433,9 @@ def deletewi(uid):
koboldai_vars.deletewi = uid koboldai_vars.deletewi = uid
if(koboldai_vars.deletewi is not None): if(koboldai_vars.deletewi is not None):
if(koboldai_vars.worldinfo_u[koboldai_vars.deletewi]["folder"] is not None): if(koboldai_vars.worldinfo_u[koboldai_vars.deletewi]["folder"] is not None):
for i, e in enumerate(koboldai_vars.wifolders_u[koboldai_vars.worldinfo_u[koboldai_vars.deletewi]["folder"]]): for i, e in enumerate(koboldai_vars.wifolders_u[str(koboldai_vars.worldinfo_u[koboldai_vars.deletewi]["folder"])]):
if(e is koboldai_vars.worldinfo_u[koboldai_vars.deletewi]): if(e is koboldai_vars.worldinfo_u[koboldai_vars.deletewi]):
koboldai_vars.wifolders_u[koboldai_vars.worldinfo_u[koboldai_vars.deletewi]["folder"]].pop(i) koboldai_vars.wifolders_u[str(koboldai_vars.worldinfo_u[koboldai_vars.deletewi]["folder"])].pop(i)
for i, e in enumerate(koboldai_vars.worldinfo): for i, e in enumerate(koboldai_vars.worldinfo):
if(e is koboldai_vars.worldinfo_u[koboldai_vars.deletewi]): if(e is koboldai_vars.worldinfo_u[koboldai_vars.deletewi]):
del koboldai_vars.worldinfo[i] del koboldai_vars.worldinfo[i]
@@ -4455,12 +4456,12 @@ def deletewifolder(uid):
del koboldai_vars.wifolders_l[koboldai_vars.wifolders_l.index(uid)] del koboldai_vars.wifolders_l[koboldai_vars.wifolders_l.index(uid)]
setgamesaved(False) setgamesaved(False)
# Delete uninitialized entries in the folder we're going to delete # Delete uninitialized entries in the folder we're going to delete
koboldai_vars.worldinfo = [wi for wi in koboldai_vars.worldinfo if wi["folder"] != uid or wi["init"]] koboldai_vars.worldinfo = [wi for wi in koboldai_vars.worldinfo if str(wi["folder"]) != uid or wi["init"]]
koboldai_vars.worldinfo_i = [wi for wi in koboldai_vars.worldinfo if wi["init"]] koboldai_vars.worldinfo_i = [wi for wi in koboldai_vars.worldinfo if wi["init"]]
# Move WI entries that are inside of the folder we're going to delete # Move WI entries that are inside of the folder we're going to delete
# so that they're outside of all folders # so that they're outside of all folders
for wi in koboldai_vars.worldinfo: for wi in koboldai_vars.worldinfo:
if(wi["folder"] == uid): if(str(wi["folder"]) == uid):
wi["folder"] = None wi["folder"] = None
sendwi() sendwi()