From 9aa7dbc1f33432b6e38deb54db2bd2b03b0a477d Mon Sep 17 00:00:00 2001 From: Saifeddine ALOUI Date: Thu, 11 Jan 2024 22:25:51 +0100 Subject: [PATCH] upgraded core --- lollms/personality.py | 12 +++-- .../endpoints/lollms_personalities_infos.py | 49 ++++++++++++------- 2 files changed, 39 insertions(+), 22 deletions(-) diff --git a/lollms/personality.py b/lollms/personality.py index 22dc52c..01d0cc7 100644 --- a/lollms/personality.py +++ b/lollms/personality.py @@ -679,11 +679,7 @@ Date: {{date}} self._assets_list = contents return config - def settings_updated(self): - """ - To be implemented by the bindings when the settings have changed - """ - pass + def remove_file(self, path, callback=None): try: @@ -1641,6 +1637,12 @@ class APScript(StateMachine): else: self.load_personality_config() + def settings_updated(self): + """ + To be implemented by the processor when the settings have changed + """ + pass + def mounted(self): """ triggered when mounted diff --git a/lollms/server/endpoints/lollms_personalities_infos.py b/lollms/server/endpoints/lollms_personalities_infos.py index c32359e..07fbaba 100644 --- a/lollms/server/endpoints/lollms_personalities_infos.py +++ b/lollms/server/endpoints/lollms_personalities_infos.py @@ -464,24 +464,39 @@ def get_active_personality_settings(): else: return {} -@router.post("/set_active_personality_settings") -def set_active_personality_settings(data): - print("- Setting personality settings") - - if lollmsElfServer.personality.processor is not None: - if hasattr(lollmsElfServer.personality.processor,"personality_config"): - lollmsElfServer.personality.processor.personality_config.update_template(data) - lollmsElfServer.personality.processor.personality_config.config.save_config() - if lollmsElfServer.config.auto_save: - ASCIIColors.info("Saving configuration") - lollmsElfServer.config.save_config() - lollmsElfServer.personality.settings_updated() - return {'status':True} - else: - return {'status':False} - else: - return {'status':False} +@router.post("/set_active_personality_settings") +async def set_active_personality_settings(request: Request): + """ + sets the active personality settings. + + :param request: The HTTP request object. + :return: A JSON response with the status of the operation. + """ + + try: + config_data = (await request.json()) + + print("- Setting personality settings") + + if lollmsElfServer.personality.processor is not None: + if hasattr(lollmsElfServer.personality.processor,"personality_config"): + lollmsElfServer.personality.processor.personality_config.update_template(config_data) + lollmsElfServer.personality.processor.personality_config.config.save_config() + if lollmsElfServer.config.auto_save: + ASCIIColors.info("Saving configuration") + lollmsElfServer.config.save_config() + if lollmsElfServer.personality.processor: + lollmsElfServer.personality.processor.settings_updated() + return {'status':True} + else: + return {'status':False} + else: + return {'status':False} + except Exception as ex: + trace_exception(ex) + lollmsElfServer.error(ex) + return {"status":False,"error":str(ex)} # ------------------------------------------- Interaction with personas ------------------------------------------------