diff --git a/src/main.py b/src/main.py index 295567b..8e72daf 100644 --- a/src/main.py +++ b/src/main.py @@ -1126,14 +1126,19 @@ Close All Without Dialog: {self.close_all_without_dialog} self.win.banner.set_revealed(False) - for an in self.annoucements.values(): + for key, an in self.annoucements.items(): if an["provider"] == self.provider: if an["status"] == "open": - self.win.banner.set_title(an["message"]) - self.win.banner.props.button_label = "Open settings" - self.win.banner.connect("button-clicked", self.on_preferences_action) - self.win.banner.set_revealed(True) - return + match an["action"]: + case "error": # show an error banner with a button to open settings + self.win.banner.set_title(an["message"]) + self.win.banner.props.button_label = "Open settings" + self.win.banner.connect("button-clicked", self.on_preferences_action) + self.win.banner.set_revealed(True) + case _: + self.win.banner.set_title(an["message"]) + self.win.banner.set_revealed(True) + del self.annoucements[key] break self.prompt = self.win.prompt_text_view.get_buffer().props.text.strip() @@ -1151,6 +1156,8 @@ Close All Without Dialog: {self.close_all_without_dialog} response = self.providers[self.provider].ask(self.prompt) except GLib.Error as e: response = e.message + except KeyError: + del self.providers[self.provider] GLib.idle_add(cleanup, response) def cleanup(response): diff --git a/src/preferences.py b/src/preferences.py index cb76759..70efd44 100644 --- a/src/preferences.py +++ b/src/preferences.py @@ -72,6 +72,7 @@ class Preferences(Adw.PreferencesWindow): """Callback for the allow_remote_fetching_switch toggled event.""" if widget.get_active(): self.settings.set_boolean("allow-remote-fetching", True) + self.app.load_annoucements() self.app.allow_remote_fetching = True else: self.settings.set_boolean("allow-remote-fetching", False) diff --git a/src/provider/__init__.py b/src/provider/__init__.py index 65a4820..c7b3f63 100644 --- a/src/provider/__init__.py +++ b/src/provider/__init__.py @@ -1,4 +1,4 @@ -#from .huggingchat import HuggingChatProvider +# from .huggingchat import HuggingChatProvider from .baichat import BAIChatProvider from .openaigpt35turbo import OpenAIGPT35TurboProvider from .openaigpt4 import OpenAIGPT4Provider @@ -7,13 +7,13 @@ from .openaitextdavinci003 import OpenAITextDavinci003 from .alpacalora import AlpacaLoRAProvider from .hfgoogleflant5xxl import HuggingFaceGoogleFlanT5XXLProvider from .hfgoogleflanu12 import HuggingFaceGoogleFlanU12Provider -from .hfopenassistantsft1pythia12b import HuggingFaceOpenAssistantSFT1PythiaProvider +from .hfopenassistantsft1pythia12b import HuggingFaceOpenAssistantSFT1PythiaProvider, HuggingChatMask from .hfgpt2 import HuggingFaceGPT2Provider from .hfdialogpt import HuggingFaceDialoGPTLargeProvider -from .bard import BardProvider +# from .bard import BardProvider from .hfgpt2large import HuggingFaceGPT2LargeProvider from .hfgpt2xl import HuggingFaceGPT2XLProvider -#from .starcoder import StarCoderProvider +# from .starcoder import StarCoderProvider PROVIDERS = { "alpacalora": AlpacaLoRAProvider, @@ -27,7 +27,7 @@ PROVIDERS = { "hfgpt2large": HuggingFaceGPT2LargeProvider, "hfgpt2xl": HuggingFaceGPT2XLProvider, "hfopenassistantsft1pythia12b": HuggingFaceOpenAssistantSFT1PythiaProvider, - "huggingchat": HuggingFaceOpenAssistantSFT1PythiaProvider, # hugging chat is replaced by open assistant + "huggingchat": HuggingChatMask, # hugging chat is replaced by open assistant "openaigpt35turbo": OpenAIGPT35TurboProvider, "openaigpt4": OpenAIGPT4Provider, "openaitextdavinci003": OpenAITextDavinci003, diff --git a/src/provider/hfopenassistantsft1pythia12b.py b/src/provider/hfopenassistantsft1pythia12b.py index d488e68..4f0d32c 100644 --- a/src/provider/hfopenassistantsft1pythia12b.py +++ b/src/provider/hfopenassistantsft1pythia12b.py @@ -46,4 +46,9 @@ class HuggingFaceOpenAssistantSFT1PythiaProvider(BaseHFProvider): self.hide_banner() print(response) GLib.idle_add(self.update_response, response) - return response \ No newline at end of file + return response + +class HuggingChatMask(HuggingFaceOpenAssistantSFT1PythiaProvider): + url = "https://bavarder.codeberg.page/help/huggingchat" + name = "Open-Assistant SFT-1 12B Model (HuggingChat)" + slug = "huggingchat" \ No newline at end of file