Merge pull request #331 from ebolam/Upload_Fix

Fix for uploading files in UI2
This commit is contained in:
henk717
2023-04-17 03:56:41 +02:00
committed by GitHub
3 changed files with 46 additions and 6 deletions

View File

@@ -7454,13 +7454,13 @@ def loadRequest(loadpath, filename=None):
if not loadpath:
return
#Original UI only sends the story name and assumes it's always a .json file... here we check to see if it's a directory to load that way
if not os.path.exists(loadpath):
if not isinstance(loadpath, dict) and not os.path.exists(loadpath):
if os.path.exists(loadpath.replace(".json", "")):
loadpath = loadpath.replace(".json", "")
if os.path.isdir(loadpath):
if not isinstance(loadpath, dict) and os.path.isdir(loadpath):
if not valid_v3_story(loadpath):
raise RuntimeError(f"Tried to load {loadpath}, a non-save directory.")
koboldai_vars.update_story_path_structure(loadpath)

View File

@@ -881,6 +881,38 @@ gensettingstf = [
"classname": "system",
"name": "seed",
"extra_classes": "var_sync_alt_system_seed_specified",
"ui_level": 2
},
{
"uitype": "text",
"unit": "text",
"label": "comregex_ai_string",
"id": "comregex_ai_string",
"min": 0,
"max": 1,
"step": 1,
"default": 1,
"tooltip": "Pattern for matching comments to remove them before sending them to the AI.",
"menu_path": "Settings",
"sub_path": "Other",
"classname": "system",
"name": "comregex_ai_string",
"ui_level": 2
},
{
"uitype": "text",
"unit": "text",
"label": "comregex_ui_string",
"id": "comregex_ui_string",
"min": 0,
"max": 1,
"step": 1,
"default": 1,
"tooltip": "Pattern for matching comments in the editor.",
"menu_path": "Settings",
"sub_path": "Other",
"classname": "system",
"name": "comregex_ui_string",
"ui_level": 2
},
{

View File

@@ -1203,7 +1203,7 @@ class undefined_settings(settings):
class system_settings(settings):
local_only_variables = ['lua_state', 'lua_logname', 'lua_koboldbridge', 'lua_kobold',
'lua_koboldcore', 'regex_sl', 'acregex_ai', 'acregex_ui', 'comregex_ai',
'lua_koboldcore', 'regex_sl', 'acregex_ai', 'acregex_ui', 'comregex_ai', 'comregex_ui',
'sp', '_horde_pid', 'inference_config', 'image_pipeline',
'summarizer', 'summary_tokenizer', 'tts_model', 'rng_states']
no_save_variables = ['lua_state', 'lua_logname', 'lua_koboldbridge', 'lua_kobold',
@@ -1252,8 +1252,10 @@ class system_settings(settings):
self.regex_sl = re.compile(r'\n*(?<=.) *\n(.|\n)*') # Pattern for limiting the output to a single line
self.acregex_ai = re.compile(r'\n* *>(.|\n)*') # Pattern for matching adventure actions from the AI so we can remove them
self.acregex_ui = re.compile(r'^ *(&gt;.*)$', re.MULTILINE) # Pattern for matching actions in the HTML-escaped story so we can apply colouring, etc (make sure to encase part to format in parentheses)
self.comregex_ai = re.compile(r'(?:\n\[<\|(?:.|\n)*?\|>\](?=\n|$))|(?:\[<\|(?:.|\n)*?\|>\]\n?)') # Pattern for matching comments to remove them before sending them to the AI
self.comregex_ui = re.compile(r'(\[&lt;\|(?:.|\n)*?\|&gt;\])') # Pattern for matching comments in the editor
self.comregex_ai_string = '(?:\n\[<\|(?:.|\n)*?\|>\](?=\n|$))|(?:\[<\|(?:.|\n)*?\|>\]\n?)' # Pattern for matching comments to remove them before sending them to the AI
self.comregex_ui_string = '(\[&lt;\|(?:.|\n)*?\|&gt;\])' # Pattern for matching comments in the editor
self.comregex_ai = re.compile(self.comregex_ai_string) # Pattern for matching comments to remove them before sending them to the AI
self.comregex_ui = re.compile(self.comregex_ui_string) # Pattern for matching comments in the editor
self.host = False
self.flaskwebgui = False
self.quiet = False # If set will suppress any story text from being printed to the console (will only be seen on the client web page)
@@ -1340,6 +1342,12 @@ class system_settings(settings):
self._socketio.emit('from_server', {'cmd': 'spstatitems', 'data': {self.spfilename: self.spmeta} if self.allowsp and len(self.spfilename) else {}}, namespace=None, broadcast=True, room="UI_1")
super().__setattr__("sp_changed", False)
if name == 'comregex_ai_string':
self.comregex_ai = re.compile(self.comregex_ai_string)
if name == 'comregex_ui_string':
self.comregex_ui = re.compile(self.comregex_ui_string)
if name == 'keep_img_gen_in_memory' and value == False:
self.image_pipeline = None