mirror of
https://github.com/KoboldAI/KoboldAI-Client.git
synced 2025-06-05 21:59:24 +02:00
Fix WI for UI1
This commit is contained in:
41
aiserver.py
41
aiserver.py
@@ -2560,7 +2560,7 @@ def execute_outmod():
|
||||
# Event triggered when browser SocketIO is loaded and connects to server
|
||||
#==================================================================#
|
||||
@socketio.on('connect')
|
||||
def do_connect():
|
||||
def do_connect(_):
|
||||
print("Connection Attempt: " + request.remote_addr)
|
||||
if allowed_ips:
|
||||
print("Allowed?: ", request.remote_addr in allowed_ips)
|
||||
@@ -4279,7 +4279,7 @@ def togglewimode():
|
||||
#
|
||||
#==================================================================#
|
||||
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}
|
||||
koboldai_vars.worldinfo.append(ob)
|
||||
while(True):
|
||||
@@ -4289,7 +4289,7 @@ def addwiitem(folder_uid=None):
|
||||
koboldai_vars.worldinfo_u[uid] = koboldai_vars.worldinfo[-1]
|
||||
koboldai_vars.worldinfo[-1]["uid"] = uid
|
||||
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")
|
||||
|
||||
#==================================================================#
|
||||
@@ -4313,19 +4313,20 @@ def addwifolder():
|
||||
#==================================================================#
|
||||
def movewiitem(dst, src):
|
||||
setgamesaved(False)
|
||||
if(koboldai_vars.worldinfo_u[src]["folder"] is not None):
|
||||
for i, e in enumerate(koboldai_vars.wifolders_u[koboldai_vars.worldinfo_u[src]["folder"]]):
|
||||
if(e is koboldai_vars.worldinfo_u[src]):
|
||||
koboldai_vars.wifolders_u[koboldai_vars.worldinfo_u[src]["folder"]].pop(i)
|
||||
if(koboldai_vars.worldinfo_u[str(src)]["folder"] is not None):
|
||||
for i, e in enumerate(koboldai_vars.wifolders_u[str(koboldai_vars.worldinfo_u[str(src)]["folder"])]):
|
||||
if(e == koboldai_vars.worldinfo_u[str(src)]):
|
||||
koboldai_vars.wifolders_u[str(koboldai_vars.worldinfo_u[str(src)]["folder"])].pop(i)
|
||||
break
|
||||
if(koboldai_vars.worldinfo_u[dst]["folder"] is not None):
|
||||
koboldai_vars.wifolders_u[koboldai_vars.worldinfo_u[dst]["folder"]].append(koboldai_vars.worldinfo_u[src])
|
||||
koboldai_vars.worldinfo_u[src]["folder"] = koboldai_vars.worldinfo_u[dst]["folder"]
|
||||
if(koboldai_vars.worldinfo_u[str(dst)]["folder"] is not None):
|
||||
koboldai_vars.wifolders_u[str(koboldai_vars.worldinfo_u[str(dst)]["folder"])].append(koboldai_vars.worldinfo_u[str(src)])
|
||||
koboldai_vars.worldinfo_u[str(src)]["folder"] = koboldai_vars.worldinfo_u[str(dst)]["folder"]
|
||||
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
|
||||
elif(e is koboldai_vars.worldinfo_u[dst]):
|
||||
elif(e["uid"] == koboldai_vars.worldinfo_u[str(dst)]["uid"]):
|
||||
_dst = i
|
||||
koboldai_vars.worldinfo[_src]["folder"] = koboldai_vars.worldinfo[_dst]["folder"]
|
||||
koboldai_vars.worldinfo.insert(_dst - (_dst >= _src), koboldai_vars.worldinfo.pop(_src))
|
||||
sendwi()
|
||||
|
||||
@@ -4335,12 +4336,12 @@ def movewiitem(dst, src):
|
||||
#==================================================================#
|
||||
def movewifolder(dst, src):
|
||||
setgamesaved(False)
|
||||
koboldai_vars.wifolders_l.remove(src)
|
||||
koboldai_vars.wifolders_l.remove(str(src))
|
||||
if(dst is None):
|
||||
# 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:
|
||||
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()
|
||||
|
||||
#==================================================================#
|
||||
@@ -4388,7 +4389,7 @@ def requestwi():
|
||||
#==================================================================#
|
||||
def stablesortwi():
|
||||
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_wi = None
|
||||
for i, wi in enumerate(koboldai_vars.worldinfo):
|
||||
@@ -4432,9 +4433,9 @@ def deletewi(uid):
|
||||
koboldai_vars.deletewi = uid
|
||||
if(koboldai_vars.deletewi 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]):
|
||||
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):
|
||||
if(e is koboldai_vars.worldinfo_u[koboldai_vars.deletewi]):
|
||||
del koboldai_vars.worldinfo[i]
|
||||
@@ -4455,12 +4456,12 @@ def deletewifolder(uid):
|
||||
del koboldai_vars.wifolders_l[koboldai_vars.wifolders_l.index(uid)]
|
||||
setgamesaved(False)
|
||||
# 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"]]
|
||||
# Move WI entries that are inside of the folder we're going to delete
|
||||
# so that they're outside of all folders
|
||||
for wi in koboldai_vars.worldinfo:
|
||||
if(wi["folder"] == uid):
|
||||
if(str(wi["folder"]) == uid):
|
||||
wi["folder"] = None
|
||||
|
||||
sendwi()
|
||||
|
Reference in New Issue
Block a user